当实现长时间保持打开的连接(彗星)时, 我将如何在php proses(未完成的请求)之间实现信令?
示例时间表:
我是在徘徊,如果这是一个使用较少的方法(注意?)cpu prosessing
答案 0 :(得分:3)
如果您的平台是Linux / Unix,则可以使用queues。
Whith semaphores你可以在没有sleep()
的情况下做到这一点,但编码会更加困难。
答案 1 :(得分:1)
我相信您必须使用pcntl_signal()以及pcntl_fork()。服务器必须支持分叉。
对于cpu处理负载,在循环中使用usleep(),以便处理器有时间被其他进程使用。
答案 2 :(得分:0)
理想情况下,我会将这些请求或“作业”写入此目的,以便将其写入数据库。
脚本1执行某些操作并将“作业”写入数据库
脚本1休眠一段时间,然后检查数据库中是否有该作业的返回码,如果是,则检查
行为
别的睡觉/重复
脚本2检查数据库中未完成的作业
如果是的话那么
行动并写回报码
别的睡觉/重复