通过系统cron触发wp-cron的最有效方式。

时间:2018-12-24 作者:Tom

我最近决定最好禁用内置的wordpress cron功能,并移动到系统cron,该系统将每隔15分钟激活一次wordpress cron。

我想知道哪种方式是最好的,性能方面的区别是什么?

我认为这有两种方式:

curl http://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
以及

cd /var/www/example.com/htdocs; php /var/www/example.com/htdocs/wp-cron.php?doing_wp_cron > /dev/null 2>&1
哪种方式更好,某种方式的好处是什么<如有任何建议,将不胜感激!

2 个回复
SO网友:nigelhooper

官方wordpress文档https://developer.wordpress.org/plugins/cron/hooking-into-the-system-task-scheduler/ 建议通过web请求执行,而不是按照第一个示例执行,而不是按照第二个示例执行php CLI。他们的示例使用wget,但您的curl请求也同样有效。我相信他们正在使用web请求复制标准http请求,否则会触发wp cron。php。

SO网友:Tom J Nowell

通过CLI直接执行cron,可以使用php 命令或WP CLI,例如。

wp cron event run --due-now --url="..."
如果使用curl ping cron URL,那么wp cron仍将具有所有限制,例如内存限制执行时间限制。CLI PHP可以使用无限的内存/时间(硬件允许)。

请注意,您需要为网络中的每个子网站运行命令

相关推荐

WordPress Cron作业,302响应

我试图在wordpress中调试cron作业。它应该会更新用户小时数,但不会,在代码中加入一些测试语句后,我不太确定它是否正在运行。我打开了调试模式,就像在wp-config.php:define(\'WP_DEBUG\', true); define(\'WP_DEBUG_LOG\', true); define(\'WP_DEBUG_DISPLAY\', true); 我调用我的cron事件functions.php 像这样:add_action(\'wp\', \'my_a