magento 2 disable custom cron job from module












4















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





























    4















    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



























      4












      4








      4


      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 Jan 31 at 6:33









      Shoaib Munir

      1,260523




      1,260523










      asked Jan 31 at 6:28









      Amrit Pal SinghAmrit Pal Singh

      765523




      765523






















          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
            Jan 31 at 6:42











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

            – Amrit Pal Singh
            Jan 31 at 6:48











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

            – Rajeev K Tomy
            Jan 31 at 6:56



















          1














          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
              Jan 31 at 6:42











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

              – Amrit Pal Singh
              Jan 31 at 6:48











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

              – Rajeev K Tomy
              Jan 31 at 6:56
















            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
              Jan 31 at 6:42











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

              – Amrit Pal Singh
              Jan 31 at 6:48











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

              – Rajeev K Tomy
              Jan 31 at 6:56














            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 Jan 31 at 6:32









            Rajeev K TomyRajeev K Tomy

            14.5k54588




            14.5k54588













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

              – Amrit Pal Singh
              Jan 31 at 6:42











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

              – Amrit Pal Singh
              Jan 31 at 6:48











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

              – Rajeev K Tomy
              Jan 31 at 6:56



















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

              – Amrit Pal Singh
              Jan 31 at 6:42











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

              – Amrit Pal Singh
              Jan 31 at 6:48











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

              – Rajeev K Tomy
              Jan 31 at 6:56

















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

            – Amrit Pal Singh
            Jan 31 at 6:42





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

            – Amrit Pal Singh
            Jan 31 at 6:42













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

            – Amrit Pal Singh
            Jan 31 at 6:48





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

            – Amrit Pal Singh
            Jan 31 at 6:48













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

            – Rajeev K Tomy
            Jan 31 at 6:56





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

            – Rajeev K Tomy
            Jan 31 at 6:56













            1














            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




























              1














              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


























                1












                1








                1







                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 Jan 31 at 6:53









                Aman AlamAman Alam

                953519




                953519






























                    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

                    Probability when a professor distributes a quiz and homework assignment to a class of n students.

                    Aardman Animations

                    Are they similar matrix