每秒运行php脚本?

时间:2016-03-06 16:39:54

标签: php linux

我需要每秒运行php脚本,无论它运行多长时间。 试图这样做:

#!/usr/bin/python

import threading, time, os

def f():
    os.system('php /var/www/test/artisan time:server > /dev/null &')
    threading.Timer(1, f).start()

f()

但是PHP脚本以不等的间隔执行。多一点或不到一秒钟。提示如何正确地使间隔恰好一秒?不一定用python。

2 个答案:

答案 0 :(得分:3)

<?php
set_time_limit(60);
$start = time();

for ($i = 0; $i < 59; ++$i) {
    // Do whatever you want here
    time_sleep_until($start + $i + 1);
}
?>

答案 1 :(得分:1)

脚本在一到一秒的间隔内完成执行,如在1000000μs中,由于处理工作原理,几乎不可能实现。

这需要:

  1. 每1000000μs产生一次的过程
  2. CPU始终可用于接受可运行进程(无其他负载)
  3. 一个始终需要相同时间执行的流程
  4. 你可能能够实现其中的一个或两个,但这三个都不现实。 3号将成为主要问题。