Today Here We Learn How To Setup Cron Job in Magento2
Step 1# : 1st we’ll create crontab.xml in app/code/NameSpace/Module/etc folder
<?xml version="1.0"?> <!-- /** * @category Webkul * @package Webkul_ModuleName * @author Webkul * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https://webkul.com) * @license https://store.webkul.com/license.html */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"> <group id="default"> <!-- instance : contain class name which function we want to run on defined time --> <!-- method : contain method name which run on defined time --> <job name="custome_cron_job_name" instance="NameSpace\ModuleName\Cron\CustomClassName" method="execute"> <schedule>*/30 * * * *</schedule> <!-- here we define time that when function execute --> </job> </group> </config>
Step 2# Now we create class with method which define in instance attribute of crontab.xml file
For this we create CustomClassName.php in app/code/NameSpace/Cron/ folder
<?php /** * @category Webkul * @package Webkul_ModuleName * @author Webkul * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https://webkul.com) * @license https://store.webkul.com/license.html */ namespace NameSpace\ModuleName\Cron; /** * custom cron actions */ class CustomClassName { public function execute() { // do your custom code as your requirement } }
step3# after this you need to run following command from terminal
so open ssh console and run following command from magento root folder
php bin/magento cron:run /* from magento root */
thanks 🙂
Thanks for the post.
Can we set more then one cron in a single module? or how we can set more then one cron.
Please let me know as i want to add more then one cron in my module.
thanks