TimedTask.php 961 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace app\admin\command;
  3. use app\task\Kernel;
  4. use think\console\Command;
  5. use think\console\Input;
  6. use think\console\Output;
  7. /**
  8. * Thinkphp5 使用命令行模式(cli模式)
  9. * 定时任务
  10. * 执行命令:php think TimedTask
  11. * Author: Panda joeyoung0314@qq.com
  12. * Gitee:https://gitee.com/xertao
  13. */
  14. class TimedTask extends Command
  15. {
  16. protected function configure()
  17. {
  18. $this->setName('TimedTask')->setDescription('Here is the remark ');
  19. }
  20. // 业务代码 业务代码执行时间过长,会造成堵塞,请合理安排执行任务
  21. protected function execute(Input $input, Output $output)
  22. {
  23. $output->writeln("TimedTaskCommand:");
  24. while (true){
  25. $start_time = time();
  26. // 每分钟执行一次
  27. if (($start_time % 60) === 0){
  28. // 执行业务层
  29. (new Kernel())->schedule();
  30. }
  31. sleep(1);
  32. }
  33. }
  34. }