如何设置Magento 2 Cron Job
Magento 2加载了很多很棒的功能,而Cron Job是其中最有用的功能之一。Cron是一个基于时间的调度程序,在Magento 2中使用预定的时间和日期自动运行命令很有用。
如何配置Magento 2 Cron Job
为什么要配置Magento 2 Cron Job?
Cron是Magento 2中最重要的部分之一。您可以通过cron安排多项活动,如下所示:
- 生成Google站点地图
- 新闻邮件
- 重建索引
- 目录价格规则
- 客户提醒和通知。
- 私人销售(仅限Magento企业版)
- 所有Magento电子邮件包括订单确认和交易。
- 自动更新货币汇率
有关更多详细信息,您可以查看有关Cron Job 的官方文档。
如何配置Magento 2 Cron Job?
今天,我将指导您如何用自定义模块在Magento中设置Cron Job 。我希望你已经在Magento 2中创建了一个自定义模块。所以,让我们开始吧!
创建crontab.xml
在app/code/Alwayly/Mymodule/etc中创建crontab.xml文件,并在其中粘贴以下代码:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"> <group id="default"> <job name="cron_name" instance="Magenticians\Mymodule\Cron\Run" method="execute"> <schedule>*/1 * * * *</schedule> </job> </group> </config>
在上面的代码中,我设置了一分钟的计划。我已将组ID设为default和 job name设置为cron_name,您可以根据需要更改它们。
创建Run.php
首先,在自定义模块中创建目录Cron,因此,目录现在将如下所示:app/code/Alwayly/Mymodule/Cron。现在在app/code/Alwayly/Mymodule/Cron中创建Run.php文件并将以下代码粘贴到其中:
<?php namespace Magenticians\Mymodule\Cron; class Run { protected $_logger; public function __construct( \Psr\Log\LoggerInterface $logger ) { $this->_logger = $logger; } public function execute() { //Edit it according to your requirement $this->_logger->debug('Cron run successfully'); return $this; } }
运行Magento 2 Cron Job
使用SSH连接您的服务器并转到Magento 2的根目录。现在运行以下命令:
php bin/magento cache:flush php bin/magento cron:run
您还可以通过此命令仅为一个组运行Cron Job:
php bin/magento cron:run --group="your_group_name"
要检查Cron是否正常工作,请转到网站的var/log/debug.log,您将看到文本Cron run successfully。转到数据库的cron_schedule表,您将看到其中包含您的Cron Job名称的新条目。
Cron Job对于Magento 2商店非常重要,通过它可以安排和自动化其活动来节省您的时间。遵循本指南后,我希望您现在能够在Magento 2中轻松设置Cron Job。如果您仍有任何问题或想要讨论与Magento 2 Cron Job相关的内容,可以联系我们!