WordPress:Cron锁定和队列 时间:2016-03-06 作者:ryanka 我有一些CPU密集型脚本,我不想同时运行。脚本有时会重叠并使服务器崩溃。已经达到2GB,mysql容器仍然崩溃。我有一个crontab设置来点击示例。com/cron。php?do\\u cron=randstr,每15分钟一次。有没有办法放置一个锁,一次只执行一个cron任务?完成后,下一个将运行。我知道这可以使用PHP的文件锁定机制来完成(但它不会将下一个任务排队)。不确定WP是否自行完成此操作。All help appreciated! 1 个回复 SO网友:iantsch Simple Cronjob Walker<创建CPTcronjob 为了你的cronjobs添加相关的post元数据(操作、上次执行的\\u…,以及您需要的任何内容)创建walker函数function my_cronjob_walker() { $args= array( \'post_type\' => \'cronjob\', \'posts_per_page\' => 1, \'meta_key\' => \'last_executed\' \'orderby\' => \'meta_value\', ); $cronjob = new WP_Query($args); if ($cronjob->have_posts()) while ($cronjob->have_posts()) { $cronjob->the_post(); // do your cronjob stuff here do_action(get_post_meta(get_the_ID(), \'action\', true); update_post_meta(get_the_ID(), \'last_executed\', date(\'c\')); } } if ( ! wp_next_scheduled( \'do_cronjob_walker\' ) ) { wp_schedule_event( time(), \'hourly\', \'do_cronjob_walker\' ); } add_action( \'do_cronjob_walker\', \'my_cronjob_walker\' ); 文章导航