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' => '更新短信狀態(tài)',
'auto_live' => '自動更新直播產品狀態(tài)和直播間狀態(tài)',
'auto_pink' => '拼團狀態(tài)自動更新',
'auto_show' => '自動上下架商品',
'auto_channel' => '渠道碼定時任務',
'auto_moment' => '定時創(chuàng)建發(fā)送朋友圈任務',
'auto_group_task' => '定時發(fā)送群發(fā)任務',
'auto_seckill' => '定時清理秒殺數據過期的數據緩存'
];
return $this->success($data);
}
如:auto_group_task是標識 ‘定時發(fā)送群發(fā)任務’ 是定時任務名稱
第二步:寫定時任務內容;
文件app\listener\system\timer\SystemTimer 中implement_timer()方法
方法中 case 加定時任務標識;如:
第三步:后臺設置新增定時任務執(zhí)行周期后,重啟swoole