cronjob 可以连续运行 30 分钟吗?

问题描述

我在 PHP 上创建了一个脚本,用于从 API 创建缓存文件,完全加载页面大约需要 30 分钟,这意味着它创建所有缓存文件的时间。

我担心托管商的客户支持告诉我它不会运行 30 分钟,但在某些答案中,我发现它可以在后台运行,并且在加载之前无需担心。

那么 cronjob 有可能运行长达 30 分钟吗?

如果不是,像 cronjob 那样在后台特定时间运行该缓存制作脚本的最佳解决方案是什么?请简要说明,以便我找到方法

感谢您的出色回答。

解决方法

理想情况下,对于长时间运行的任务,任务应该托管在允许扩展操作的平台中,并以可以从外部触发的方式定义,这可能是 Web API 中的端点形式。

>

然后您可以使用 cronjob 来触发该过程。

无需创建整个 API,您就可以将其设为网站上的单个端点,即只有 cronjob 知道如何调用的隐藏页面,然后从那里运行您的脚本。

有很多方法可以解决这个问题,但方法是相似的,只是使用 cronjob 作为不同进程的触发器。将脚本的核心逻辑移至允许较长执行时间的平台。


这是一个类似的帖子:Run a “long” php-script via Cronjob 的答案表明您可以尝试在不等待响应的情况下执行脚本,这与调用外部 Web 进程或 API 的期望相同,cronjob 不应等待回复。