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分钟的时间) 问题是强制执行1小时(1次跳过后),因为你最终可以跳过超过30分钟.这可以通过存储上次执行的值来实现. 另一个解决方案是几乎在同一时间内有2个cron(30分钟和1个小时)并且具有自定义功能,如果1小时未运行则会触发30分钟,依此类推. 这是一个不错的WordPress cronjob plugin (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |