Pro v2.4版本开始后台可以开关控制定时任务,那如何添加新的定时任务呢?
第一步:设置定时任务名称及标识;
文件app\controller\admin\v1\system\SystemTimer中task_name()方法
/**定时任务名称及标识
* @return mixed
*/
public function task_name() {
$data = [
'auto_cancel' => '自动取消订单',
'auto_take' => '自动确认收货',
'auto_comment' => '自动好评',
'auto_clear_integral' => '自动清空用户积分',
'auto_off_user_svip' => '自动取消用户到期svip',
'auto_agent' => '自动解绑上下级',
'auto_clear_poster' => '自动清除昨日海报',
'auto_sms_code' => '更新短信状态',
'auto_live' => '自动更新直播产品状态和直播间状态',
'auto_pink' => '拼团状态自动更新',
'auto_show' => '自动上下架商品',
'auto_channel' => '渠道码定时任务',
'auto_moment' => '定时创建发送朋友圈任务',
'auto_group_task' => '定时发送群发任务',
'auto_seckill' => '定时清理秒杀数据过期的数据缓存'
];
return $this->success($data);
}
如:auto_group_task是标识 ‘定时发送群发任务’ 是定时任务名称
第二步:写定时任务内容;
文件app\listener\system\timer\SystemTimer 中implement_timer()方法
方法中 case 加定时任务标识;如:
第三步:后台设置新增定时任务执行周期后,重启swoole