我有一个通过 REST API 提供某种服务的网站。所有功能都有常规的 HTTP 请求-响应逻辑。但另外我需要另一个 PHP 脚本来做一些连续的事情。一方面,该脚本应该能够访问所有核心服务功能(核心引擎、存储过程等)。另一方面,该脚本应保持与第三方服务的持久连接,并不时从中读取一些信息。此外,这个脚本应该是容错的,并且应该保证在任何时候只有这个脚本的一个实例在运行。还有一些原因导致我不能将此任务放在 Cron 服务上,而不是无限运行脚本。
我目前最好的想法是编写以 set_time_limit(0) 开头并包含无限循环的常规 PHP 脚本,其中包含我的东西动作和之后的睡眠。该脚本将手动启动。此外,我可以用某种密码保护这个脚本,以确保没有其他人可以运行它。大家觉得这个解决方案怎么样?这样的解决方案不会影响一些不需要的 FastCGI 副作用吗?我怎样才能使这个解决方案容错?我怎样才能停止这个脚本,或者检查它是否正在运行?最后一件事:我怎样才能通过 HTTP 请求运行这个脚本,这样它就不会阻塞任何东西(有点后台运行 CURL 或其他东西)。谢谢!