为了给我的项目提供一些背景知识,我有一个Wordpress网站,我通过将wp-config调整为以下来关闭了cron:
define('DISABLE_WP_CRON', true);
然后我在服务器上的wp-cron文件中设置了一个cron来每分钟调用一次这个文件,这已经按预期工作了,因为我需要它 .
我使用一个名为'Wp-Crontrol'的插件在我的函数文件中的各种函数上设置我自己的cron调用 .
Memory Limit: 2048M
PHP max execution time: 2700
The Issue
我有一个特别的功能,它从远程源获取报告,并使用 $wpdb 类循环遍历每行进入数据库的每一行 . 如果我将该函数放在php页面上并转到它,该函数按预期完美地工作,并在一段时间后将所有6900行输入数据库 .
我希望它的工作方式是在该函数上运行一个cron(就像我做了很多其他事情没有问题)但问题是,当我通过cron设置它时,它似乎只插入大约3000行它只是停止没有错误记录?
我正在努力弄清楚为什么手动运行它会完美地工作但是在夜间使用相同功能的预定cron只能完成一半的工作并且没有完成,中途停止?
我打开了我能想到的所有错误记录,但没有显示?
2 回答
WordPress“cron”作业与系统cron作业不同 . 例如,除非你有一个高流量站点,否则几乎不可能用WordPress设置一个gaurenteed 60秒的cron . 当有人将HTTP请求放入系统时,会激活WordPress crons . 系统cron运行在系统内存中运行的守护程序 . 它们只是不同的概念而且工作方式不同 .
问题是处理时间,但由于某种原因,它不会在任何错误消息中标记 . 在我精简了长流程后,它开始按预期运行 .