diff --git a/crmeb/app/listener/timer/SystemTimer.php b/crmeb/app/listener/timer/SystemTimer.php index a3c0cb0fe..cfc13b7a0 100644 --- a/crmeb/app/listener/timer/SystemTimer.php +++ b/crmeb/app/listener/timer/SystemTimer.php @@ -160,33 +160,47 @@ class SystemTimer implements ListenerInterface } } } - + /** + * 0 1 2 3 4 5 + | | | | | | + | | | | | +------ day of week (0 - 6) (Sunday=0) + | | | | +------ month (1 - 12) + | | | +-------- day of month (1 - 31) + | | +---------- hour (0 - 23) + | +------------ min (0 - 59) + +-------------- sec (0-59)[可省略,如果没有0位,则最小时间粒度是分钟] + */ + /** + * 获取定时任务时间表达式 + * @param $data + * @return string + */ public function getTimerStr($data): string { $timeStr = ''; switch ($data['type']) { - case 1: + case 1:// 每隔几秒 $timeStr = '*/' . $data['second'] . ' * * * * *'; break; - case 2: + case 2:// 每隔几分 $timeStr = '0 */' . $data['minute'] . ' * * * *'; break; - case 3: - $timeStr = '0 0 */' . $data['hour'] . ' * * *'; + case 3:// 每隔几时 + $timeStr = '0 ' . $data['minute'] . ' */' . $data['hour'] . ' * * *'; break; - case 4: - $timeStr = '0 0 0 */' . $data['day'] . ' * *'; + case 4:// 每隔几日 + $timeStr = '0 ' . $data['minute'] . ' ' . $data['hour'] . ' */' . $data['day'] . ' * *'; break; - case 5: + case 5:// 每日几时几分几秒 $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' * * *'; break; - case 6: + case 6:// 每周周几几时几分几秒 $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' * * ' . ($data['week'] == 7 ? 0 : $data['week']); break; - case 7: + case 7:// 每月几日几时几分几秒 $timeStr = $data['second'] . ' ' . $data['minute'] . ' ' . $data['hour'] . ' ' . $data['day'] . ' * *'; break; } return $timeStr; } -} \ No newline at end of file +}