php – WordPress wp_schedule_event在30到60分钟之间随机发生

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – WordPress wp_schedule_event在30到60分钟之间随机发生脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
可以在30到60分钟之间随机启动WP-Cron吗?

是)我有

add_action('my_hourly_event','do_this_hourly');
function my_activation() 
{
    if(!wp_next_scheduled( 'my_hourly_event' ))
    {
        wp_schedule_event( current_time( 'timestamp' ),'hourly','my_hourly_event');
    }
}
add_action('wp','my_activation');
function do_this_hourly() 
{
   // do something
}
不幸的是,wp_schedule_event没有30分钟并且仅接受这些间隔:每小时,每天两次(12H),每天(24小时).

在我看来,有一个可以随机改变的预定事件有点奇怪,可能你应该看一下不同的实现.
在不讨论您的选择的情况下,我将提供一个可能的答案.

有一些带有挂钩的插件进入wordpress cron系统,允许不同的时间间隔.

一种解决方案是每30分钟只设置一个cron并具有随机执行或不执行的自定义功能.

if (rand(0,1)) { ....

例如:

> 30分钟后,该功能将被执行(你有30分钟的时间)
>再过30分钟后,该功能就会跳过运行
>对于接下来的30分钟将再次触发并执行(并且你有1小时的cron).

问题是强制执行1小时(1次跳过后),因为你最终可以跳过超过30分钟.这可以通过存储上次执行的值来实现.

一个解决方案是几乎在同一时间内有2个cron(30分钟和1个小时)并且具有自定义功能,如果1小时未运行则会触发30分钟,依此类推.

这是一个不错的WordPress cronjob plugin
如果需要将cron执行安全地存储在wordpress表中,可以使用WordPress add_option function,使用get_option和update_option来获取并更新其值.

脚本宝典总结

以上是脚本宝典为你收集整理的php – WordPress wp_schedule_event在30到60分钟之间随机发生全部内容,希望文章能够帮你解决php – WordPress wp_schedule_event在30到60分钟之间随机发生所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。