magento 2 disable custom cron job from module












3















I have created a Custom cron job for product price updation using csv. I want to disable cron job if Module is disabled from admin. How it will be done?










share|improve this question





























    3















    I have created a Custom cron job for product price updation using csv. I want to disable cron job if Module is disabled from admin. How it will be done?










    share|improve this question



























      3












      3








      3


      1






      I have created a Custom cron job for product price updation using csv. I want to disable cron job if Module is disabled from admin. How it will be done?










      share|improve this question
















      I have created a Custom cron job for product price updation using csv. I want to disable cron job if Module is disabled from admin. How it will be done?







      magento2






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 48 mins ago









      Shoaib Munir

      11211




      11211










      asked 53 mins ago









      Amrit Pal SinghAmrit Pal Singh

      757523




      757523






















          2 Answers
          2






          active

          oldest

          votes


















          4














          You should check the status of the module in your cron observer file. If it is disabled status, then simply skip the cron process.



          I dont think there is a way to disable a cron through the XML configuration.






          share|improve this answer
























          • Yes that is, but there will be in system log that the cron is running ?

            – Amrit Pal Singh
            39 mins ago











          • If it's not possible with XML then I have to keep in method only.

            – Amrit Pal Singh
            33 mins ago











          • Not sure system log will get updated when a cron ran unless you have enabled it

            – Rajeev K Tomy
            25 mins ago



















          0














          To stop cronjob when module disabled from admin configration you can add check module is enabled in configration or not.



          You can use below mentioned check for it.



          <?php
          namespace VendorModuleModel;

          class Cronmethods
          {
          /**
          * @var MagentoFrameworkAppConfigScopeConfigInterface
          */
          protected $scopeConfig;

          /**
          * @var PsrLogLoggerInterface
          */
          protected $logger;

          public function __construct(
          MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
          PsrLogLoggerInterface $logger
          ){
          $this->scopeConfig = $scopeConfig;
          $this->logger = $logger;;
          }
          public function method(){
          if($this->isModuleEnabled()){
          $this->logger->info('Cron running'); //You can check these logs in var/log/system.log
          //Your logic
          }
          }
          public function isModuleEnabled(){
          $storeScope = MagentoStoreModelScopeInterface::SCOPE_STORE;
          return $this->scopeConfig->getValue('sectionid/groupid/fieldid', $storeScope);
          //Note: replace sectionid, groupid and fieldid matching with your system.xml enabled select box.
          }
          }





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "479"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f259918%2fmagento-2-disable-custom-cron-job-from-module%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            You should check the status of the module in your cron observer file. If it is disabled status, then simply skip the cron process.



            I dont think there is a way to disable a cron through the XML configuration.






            share|improve this answer
























            • Yes that is, but there will be in system log that the cron is running ?

              – Amrit Pal Singh
              39 mins ago











            • If it's not possible with XML then I have to keep in method only.

              – Amrit Pal Singh
              33 mins ago











            • Not sure system log will get updated when a cron ran unless you have enabled it

              – Rajeev K Tomy
              25 mins ago
















            4














            You should check the status of the module in your cron observer file. If it is disabled status, then simply skip the cron process.



            I dont think there is a way to disable a cron through the XML configuration.






            share|improve this answer
























            • Yes that is, but there will be in system log that the cron is running ?

              – Amrit Pal Singh
              39 mins ago











            • If it's not possible with XML then I have to keep in method only.

              – Amrit Pal Singh
              33 mins ago











            • Not sure system log will get updated when a cron ran unless you have enabled it

              – Rajeev K Tomy
              25 mins ago














            4












            4








            4







            You should check the status of the module in your cron observer file. If it is disabled status, then simply skip the cron process.



            I dont think there is a way to disable a cron through the XML configuration.






            share|improve this answer













            You should check the status of the module in your cron observer file. If it is disabled status, then simply skip the cron process.



            I dont think there is a way to disable a cron through the XML configuration.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 50 mins ago









            Rajeev K TomyRajeev K Tomy

            14.4k54585




            14.4k54585













            • Yes that is, but there will be in system log that the cron is running ?

              – Amrit Pal Singh
              39 mins ago











            • If it's not possible with XML then I have to keep in method only.

              – Amrit Pal Singh
              33 mins ago











            • Not sure system log will get updated when a cron ran unless you have enabled it

              – Rajeev K Tomy
              25 mins ago



















            • Yes that is, but there will be in system log that the cron is running ?

              – Amrit Pal Singh
              39 mins ago











            • If it's not possible with XML then I have to keep in method only.

              – Amrit Pal Singh
              33 mins ago











            • Not sure system log will get updated when a cron ran unless you have enabled it

              – Rajeev K Tomy
              25 mins ago

















            Yes that is, but there will be in system log that the cron is running ?

            – Amrit Pal Singh
            39 mins ago





            Yes that is, but there will be in system log that the cron is running ?

            – Amrit Pal Singh
            39 mins ago













            If it's not possible with XML then I have to keep in method only.

            – Amrit Pal Singh
            33 mins ago





            If it's not possible with XML then I have to keep in method only.

            – Amrit Pal Singh
            33 mins ago













            Not sure system log will get updated when a cron ran unless you have enabled it

            – Rajeev K Tomy
            25 mins ago





            Not sure system log will get updated when a cron ran unless you have enabled it

            – Rajeev K Tomy
            25 mins ago













            0














            To stop cronjob when module disabled from admin configration you can add check module is enabled in configration or not.



            You can use below mentioned check for it.



            <?php
            namespace VendorModuleModel;

            class Cronmethods
            {
            /**
            * @var MagentoFrameworkAppConfigScopeConfigInterface
            */
            protected $scopeConfig;

            /**
            * @var PsrLogLoggerInterface
            */
            protected $logger;

            public function __construct(
            MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
            PsrLogLoggerInterface $logger
            ){
            $this->scopeConfig = $scopeConfig;
            $this->logger = $logger;;
            }
            public function method(){
            if($this->isModuleEnabled()){
            $this->logger->info('Cron running'); //You can check these logs in var/log/system.log
            //Your logic
            }
            }
            public function isModuleEnabled(){
            $storeScope = MagentoStoreModelScopeInterface::SCOPE_STORE;
            return $this->scopeConfig->getValue('sectionid/groupid/fieldid', $storeScope);
            //Note: replace sectionid, groupid and fieldid matching with your system.xml enabled select box.
            }
            }





            share|improve this answer




























              0














              To stop cronjob when module disabled from admin configration you can add check module is enabled in configration or not.



              You can use below mentioned check for it.



              <?php
              namespace VendorModuleModel;

              class Cronmethods
              {
              /**
              * @var MagentoFrameworkAppConfigScopeConfigInterface
              */
              protected $scopeConfig;

              /**
              * @var PsrLogLoggerInterface
              */
              protected $logger;

              public function __construct(
              MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
              PsrLogLoggerInterface $logger
              ){
              $this->scopeConfig = $scopeConfig;
              $this->logger = $logger;;
              }
              public function method(){
              if($this->isModuleEnabled()){
              $this->logger->info('Cron running'); //You can check these logs in var/log/system.log
              //Your logic
              }
              }
              public function isModuleEnabled(){
              $storeScope = MagentoStoreModelScopeInterface::SCOPE_STORE;
              return $this->scopeConfig->getValue('sectionid/groupid/fieldid', $storeScope);
              //Note: replace sectionid, groupid and fieldid matching with your system.xml enabled select box.
              }
              }





              share|improve this answer


























                0












                0








                0







                To stop cronjob when module disabled from admin configration you can add check module is enabled in configration or not.



                You can use below mentioned check for it.



                <?php
                namespace VendorModuleModel;

                class Cronmethods
                {
                /**
                * @var MagentoFrameworkAppConfigScopeConfigInterface
                */
                protected $scopeConfig;

                /**
                * @var PsrLogLoggerInterface
                */
                protected $logger;

                public function __construct(
                MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
                PsrLogLoggerInterface $logger
                ){
                $this->scopeConfig = $scopeConfig;
                $this->logger = $logger;;
                }
                public function method(){
                if($this->isModuleEnabled()){
                $this->logger->info('Cron running'); //You can check these logs in var/log/system.log
                //Your logic
                }
                }
                public function isModuleEnabled(){
                $storeScope = MagentoStoreModelScopeInterface::SCOPE_STORE;
                return $this->scopeConfig->getValue('sectionid/groupid/fieldid', $storeScope);
                //Note: replace sectionid, groupid and fieldid matching with your system.xml enabled select box.
                }
                }





                share|improve this answer













                To stop cronjob when module disabled from admin configration you can add check module is enabled in configration or not.



                You can use below mentioned check for it.



                <?php
                namespace VendorModuleModel;

                class Cronmethods
                {
                /**
                * @var MagentoFrameworkAppConfigScopeConfigInterface
                */
                protected $scopeConfig;

                /**
                * @var PsrLogLoggerInterface
                */
                protected $logger;

                public function __construct(
                MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
                PsrLogLoggerInterface $logger
                ){
                $this->scopeConfig = $scopeConfig;
                $this->logger = $logger;;
                }
                public function method(){
                if($this->isModuleEnabled()){
                $this->logger->info('Cron running'); //You can check these logs in var/log/system.log
                //Your logic
                }
                }
                public function isModuleEnabled(){
                $storeScope = MagentoStoreModelScopeInterface::SCOPE_STORE;
                return $this->scopeConfig->getValue('sectionid/groupid/fieldid', $storeScope);
                //Note: replace sectionid, groupid and fieldid matching with your system.xml enabled select box.
                }
                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 29 mins ago









                Aman AlamAman Alam

                933519




                933519






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f259918%2fmagento-2-disable-custom-cron-job-from-module%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                    Calculate evaluation metrics using cross_val_predict sklearn

                    Insert data from modal to MySQL (multiple modal on website)