ClearCrontabController.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * ClearCrontabController每日清理多余的定时任务数据
  4. */
  5. namespace console\controllers;
  6. use addons\UserGift\common\enums\GiftEnum;
  7. use addons\UserGift\common\listeners\UserGiftListener;
  8. use common\enums\RabbitMqEnum;
  9. use common\models\common\CrontabTaskExecute;
  10. use common\models\user\UserExtra;
  11. use yii\console\Controller;
  12. use yii\console\ExitCode;
  13. class ClearCrontabController extends Controller
  14. {
  15. /**
  16. * 每日凌晨1点清理一个月前的所有定时任务记录
  17. * 0 0 1 * * * *
  18. * @Author: lun
  19. * @DateTime: 2021/11/17 0017 20:38
  20. * @Copyright: copyright (c) 2021 广东七件事集团
  21. * @return int
  22. */
  23. public function actionExecute(){
  24. try {
  25. $time = strtotime("-1 month");// 一个月前的时间戳
  26. CrontabTaskExecute::deleteAll(['and' ,['exec_process' => CrontabTaskExecute::PROCESS_FINISH], ['<=', 'created_at', $time]]);
  27. echo 'success';
  28. return ExitCode::OK;
  29. } catch (\Exception $e) {
  30. echo $e->getMessage();
  31. $this->stderr('Error: ' . ExitCode::getReason(ExitCode::UNSPECIFIED_ERROR));
  32. return ExitCode::UNSPECIFIED_ERROR;
  33. }
  34. }
  35. }