gpt4 book ai didi

php - 在 Linux 上从 Web 环境调度作业

转载 作者:太空狗 更新时间:2023-10-29 12:21:40 27 4
gpt4 key购买 nike

我正在 Linux/Apache 上用 PHP 开发一个应用程序。我希望能够安排 PHP 作业(脚本)在将来某个特定时间从应用程序中执行。

我知道很多人会推荐 cron 和 at,但首先我不需要重复 (cron),其次也是最重要的是,我需要能够扩展的解决方案。 At 在设计时并未考虑到竞争条件,如果两个用户尝试同时添加工作,一个或两个都可能会失败。

作业在指定时间执行也很重要,而不仅仅是每分钟左右“轮询”一次。

任何人都可以为此任务提出解决方案吗?谢谢。

最佳答案

编写一个 php 脚本作为守护进程脚本在后台运行,每隔几微秒唤醒一次,检查要执行的任务。如果它有一些任务要执行,它可以自己 fork 并启动任务。

如果您不喜欢脚本每隔几微秒唤醒一次,您还可以计算下一个任务的休眠时间,然后 fork 启动它。当添加或删除任务时,只需向程序发送信号,程序就会唤醒并重新计算现在需要休眠的时间。

超链接:

http://en.wikipedia.org/wiki/Daemon_%28computer_software%29

http://php.net/manual/en/function.pcntl-fork.php

http://www.php.net/manual/en/function.pcntl-signal.php

关于php - 在 Linux 上从 Web 环境调度作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com