|
@@ -0,0 +1,39 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+declare (strict_types=1);
|
|
|
+
|
|
|
+namespace app\command;
|
|
|
+
|
|
|
+use think\console\Command;
|
|
|
+use think\console\Input;
|
|
|
+use think\console\input\Argument;
|
|
|
+use think\console\input\Option;
|
|
|
+use think\console\Output;
|
|
|
+use think\facade\Db;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 主要处理短信的命令行程序
|
|
|
+ */
|
|
|
+class Solver extends Command {
|
|
|
+
|
|
|
+ protected function configure() {
|
|
|
+ // 指令配置
|
|
|
+ $this->setName('solver')
|
|
|
+ ->setDescription('the solver command');
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function execute(Input $input, Output $output) {
|
|
|
+ // 指令输出
|
|
|
+ $lockFileName = "task_solver.lock";
|
|
|
+ $lockFile = fopen($lockFileName, "a");
|
|
|
+ if (flock($lockFile, LOCK_EX | LOCK_NB)) {//文件锁(独占)
|
|
|
+ set_time_limit(0);
|
|
|
+ $schedules = Db::table("new_schedule")->select();
|
|
|
+ var_dump($info);
|
|
|
+ flock($lockFile, LOCK_UN);
|
|
|
+ } else {
|
|
|
+ $output->writeln('每分钟执行一次,执行时间超过1分钟下个1分钟跳过等待再下1分钟');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|