如何使用wp_Schedule_Event设置多个cron任务,使它们不会重叠?

时间:2012-05-22 作者:Nicola Peluchetti

我正在使用cron从Facebook获取数据,我将工作分为三个电话,以避免同时拨打多个电话,现在我如何设置电话,使它们不会重叠?

// Set the CRON for pages
wp_schedule_event(  current_time( \'timestamp\' ), self::FB_CRON_FREQUENCY, self::FB_CRON_PAGES, array( Ai1ec_Facebook_Graph_Object_Collection::FB_PAGE ) );
// Set the CRON for groups
wp_schedule_event(  current_time( \'timestamp\' ), self::FB_CRON_FREQUENCY, self::FB_CRON_GROUPS, array( Ai1ec_Facebook_Graph_Object_Collection::FB_GROUP ) );
// Set the CRON for users
wp_schedule_event(  current_time( \'timestamp\' ), self::FB_CRON_FREQUENCY, self::FB_CRON_USERS, array( Ai1ec_Facebook_Graph_Object_Collection::FB_USER ) );
所以我希望所有通话每两个小时运行一次,但我希望一个在15分钟运行,一个在30分钟运行,一个在45分钟运行,这样它们就不会重叠,我该怎么做呢?

1 个回复
最合适的回答,由SO网友:Nicola Peluchetti 整理而成

好吧,那很容易

// Set the CRON for pages
wp_schedule_event(  current_time( \'timestamp\' ) + 450, self::FB_CRON_FREQUENCY, self::FB_CRON_PAGES, array( Ai1ec_Facebook_Graph_Object_Collection::FB_PAGE ) );
// Set the CRON for groups
wp_schedule_event(  current_time( \'timestamp\' ) + 900, self::FB_CRON_FREQUENCY, self::FB_CRON_GROUPS, array( Ai1ec_Facebook_Graph_Object_Collection::FB_GROUP ) );
// Set the CRON for users
wp_schedule_event(  current_time( \'timestamp\' ) + 1350, self::FB_CRON_FREQUENCY, self::FB_CRON_USERS, array( Ai1ec_Facebook_Graph_Object_Collection::FB_USER ) );

结束