我想弄清楚我的模块cron是否在正确的时间运行。
我的模块的cron设置在凌晨1点(0 1 * * *),默认存储的时区是西欧(巴黎,柏林等GMT +2),服务器时间是EDT(东部夏令时)。
那么凌晨1点的时间表是基于哪个时区呢?
谢谢,
Magento cron进程运行在UTC时区
这可以通过向cron观察者临时添加一条小日志语句来验证。
方法是:
Mage_Cron_Model_Observer::dispatch()
查找前几行代码:
$now = time();
在前面或后面加上:
Mage::log("cron timezone: " . date_default_timezone_get(), Zend_Log::DEBUG);
然后检查你的var/log/system.log文件,你会看到PHP/Magento正在使用UTC时区
Magento cron作业日志时间以UTC记录。实际运行时间基于TZ偏移量(服务器时间)。下面是一个Cron Job Monitor脚本,它显示了调度的作业及其完成时间。它还为您提供UTC,服务器时间和您的存储时间(单个存储)。这三者都可以是不同的。Cron Job Monitor
为了使其有用,我将系统配置设置为将错误和日志信息保存24小时。这样,您就可以实际监视在上午早期运行的大作业,并确认它们确实在运行。