【发布时间】:2015-09-03 06:30:05
【问题描述】:
我想通过 cron 每分钟运行 FuelPHP 任务。 但我不想运行重复的 FuelPHP 任务。
你有什么想法吗?
我试图通过 pid 控制,但是 getmypid() 总是返回相同的值...
【问题讨论】:
-
你可以编写一个脚本,第一次检查fulephp的前一个实例是否正在运行,如果运行get pid并杀死它。每分钟将脚本添加到 cron 作业中
-
感谢您的回复。你怎么知道以前的fuelphp实例正在运行?请?
-
如何运行任务?
getmypid应该可以工作。你在哪里叫它? -
我正在使用 FuelPHP 任务。炼油 my_task_name。我在 "public function run()" 中写了 getmypid。 getmypid 结果始终为 5000。
-
这很奇怪。如果您以某种方式从浏览器运行任务,那么显然问题是返回了网络服务器的 pid,这在请求之间不会改变。但是,如果您从终端(或从 cron)运行
oil refine task_name,那应该始终是一个新进程。我尝试创建一个空任务并运行它,结果每次都显示不同的 pid……我猜应该是你的设置问题。