我正在使用wp_schedule_single_event()
函数创建一个wp-cron作业,该作业在指定的时间向指定的用户发送电子邮件。
大多数情况下,这个wp-cron任务成功创建,用户及时得到通知,但有时它就是不工作。
特别奇怪的是wp_schedule_single_event()
总是返回true
(这意味着它被成功执行),即使wp-cron作业没有创建(我用WP Crontrol插件检查)。
我的代码(write_log:记录给定字符串的自定义函数,时间:对应的时间戳):
write_log('User ' . get_current_user_id() . ' now tries to create the addProductsExpired cron job with timestamp: ' . time);
$success = wp_schedule_single_event(time, 'hook_addProductsExpired', array(get_current_user_id()));
if (!$success) {
write_log('The creation failed!');
}
write_log('User ' . get_current_user_id() . ' now tries to create the sendReminderMail cron job with timestamp: ' . time);
$success = wp_schedule_single_event(time - 60 * 60 * 24, 'hook_sendReminderMail', array(get_current_user_id()));
if (!$success) {
write_log('The creation failed!');
}
我还应该注意到,我从来没有完成它重现错误自己
到目前为止,我尝试过:
- 更新WordPress
- 研究日志
- 使用以前失败的用户帐户执行该功能(它在我的PC上工作,在将来的执行中也在用户的PC上工作)
- 修改受影响用户的用户条目中的参数
- 使用先前失败的参数手动执行函数
- 重写和优化整个函数
它们都不起作用或抛出一个我可以调试的错误。
1条答案
按热度按时间thigvfpy1#
我现在使用的是终结者Barbapapa在回答我的问题时所建议的actionsheduler.org。到目前为止,我还没有遇到任何问题。