我试图弄清楚我的模块cron是否在正确的时间运行。
我模块的cron设置为凌晨1点(0 1 * * *),默认商店的时区是西欧(巴黎,柏林等GMT +2),服务器时间是EDT(东部夏令时)
那么在哪个时区是1am的时间表基于?
谢谢,
答案 0 :(得分:5)
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时区。
答案 1 :(得分:2)
Magento cron作业日志时间以UTC格式记录。实际运行时间基于TZ偏移量(服务器时间)。这是一个Cron作业监视器脚本,可以显示已安排的作业以及完成时间。它还为您提供UTC,服务器时间和您的商店时间(单店)。这三者可以是不同的。 Cron Job Monitor
为了使它有用,我设置System Config以保持错误和记录信息24小时。这样你就可以实际监控上午早些时候运行的大型工作,并确认它们确实正在运行。