如何仅使用 Cron 来实现工作系统?

如何仅使用 Cron 来实现工作系统?

我有一个 PHP Web 应用程序,其端点特别慢,我诊断出这是由复杂的函数调用引起的。

函数调用在返回响应之前完成并不重要,这意味着函数调用可以放入队列并由工作人员执行。但它确实需要在十秒内执行。

我遇到的问题是我无法以任何方式更改此 Web 应用程序运行的基础设施。这远非理想,但却是不可改变的业务需求。我只有 Cron、MySQL、Redis、Apache 和 PHP 可供使用。

如何仅使用 Cron 来实现工作系统?

我相当确定使用 Redis 存储函数调用队列是一个好的开始。我可以使用 Cron 作为 Supervisor 的可怜替代品来启动工作脚本吗?可能与集群结合以避免 Cronjobs 重叠?

我的另一个想法是使用 Cron 每秒运行工作脚本。然而 Cron 不支持小于分钟的单位,所以我必须编写一个 Bash 脚本来执行某种循环来实现这一点。

如果有人有任何更强有力、更明智或经过验证的想法,我很乐意听到他们。谢谢。

相关内容