在我的wp-config.php
, 我有
define(\'DISABLE_WP_CRON\', true);
我在Mac(Catalina)上,如果我从终端运行
crontab - l
我明白了
* * * * * wget -q -O - \'https://mysiite.com/wp-cron.php?doing_wp_cron&cron=true\'; echo "wordpresscron" >> /somepath/stdout.log
在我的日志文件中,我看到
wordpresscron
被回应。
但是当我查看apache访问日志时,我没有看到任何GET
与cron相关的请求。
现在,如果我在终端手动输入
wget -q -O - \'https://mysiite.com/wp-cron.php?doing_wp_cron&cron=true\'
一个条目被写入apache访问日志。
所以我就是搞不清楚到底发生了什么。似乎我的cron正在工作,但apache日志没有显示这一点。。。
想法?
编辑:
也许这与我正在更改MAC上的系统时间以测试事件触发有关?
例如,查看显示挂起作业的输出:
所以有一些作业要运行。如果我从终端键入
wp cron event run --due-now
这些挂起的作业都会立即完成。我对crontab做了一些修改,现在
* * * * * cd /sitefolder; wp cron event run --due-now; echo "ran cron" >> /users/brian/sites/stdout.log
我明白了
ran cron
在日志中回响。
所以我真的很茫然。这就好像cron正在运行wp cron event run --due-now
命令被发出,它被忽略,我无法想象在作为cron运行时它会被忽略的情况。当作为cron运行时,它可能会被忽略,因为它看到我进行了系统时间更改(尽管我无法想象为什么这会导致命令被忽略)。或者这可能是一个奇怪的permissons问题,在这种情况下,我有权在命令行运行wp cron event run --due-now
, 但是cron作业不知何故没有权限?
无论如何,这让我快发疯了。