如何正确防止504网关超时?

如何正确防止504网关超时?

我有一个可以运行大约 15 分钟的脚本,因为它是一个大型数据迁移工具。

我遇到的问题是,如果我将fastcgi_read_timeout 9900;其设置为永不超时,或者如果我将其设置为小于该值,那么它会在我的脚本运行完成之前超时。

编辑:我已经删除了fastcgi_read_timeout 9900;fromnginx.confmax_execution_time = 1300;在 php.ini 中进行设置,现在我得到了 504 网关超时,而不是永远循环。

我如何正确设置页面以使其在脚本执行完成之前保持活动状态?

答案1

为什么要在前台运行它?虽然可以花足够长的时间破解配置文件以获得此行为,但这是一个非常脆弱的配置。这是否真的会向用户输出有用的信息?如果不是,这几乎肯定适合后台任务,而不是尝试在一个请求中运行它。

即使这是向用户输出,您是否考虑过将其作为后台任务运行,并通过某种异步方法将输出传送给用户?

相关内容