【发布时间】:2015-02-11 04:47:52
【问题描述】:
我有烧瓶脚本通过 Apache 服务器上的 WSGI 运行。 服务器重新启动后,apache 服务器启动,但 python 脚本仅在第一次请求时启动。有没有办法让它在服务器启动时立即启动,以便它一直运行?
inactivity-timeout 设置的默认值是什么?如果没有即将到来的请求,我可以阻止服务器停止脚本吗?
【问题讨论】:
我有烧瓶脚本通过 Apache 服务器上的 WSGI 运行。 服务器重新启动后,apache 服务器启动,但 python 脚本仅在第一次请求时启动。有没有办法让它在服务器启动时立即启动,以便它一直运行?
inactivity-timeout 设置的默认值是什么?如果没有即将到来的请求,我可以阻止服务器停止脚本吗?
【问题讨论】:
嗯,这就是脚本的想法,它在某人或某事需要它时运行。阅读有关lazy loading 的更多信息。
您可以使用cron 和curl 发出一些虚假请求。您也可以通过编辑init 脚本来执行curl 或...
inactivity-timeout 的默认值为 2.0s (reference)。最大值应为sss,即999s (~16 min)。
您的问题可能与缓存有关。
更新:WSGIImportScript 指令可用于指定进程启动时要加载的脚本文件 - 感谢@sean-vieira
【讨论】:
WSGIImportScript 可能会帮助他:“对于某些情况,例如在使用 WSGIScriptAlias 时,实际上可以在进程首次启动时预加载应用程序代码,而不是在第一个请求到达时。要预加载应用程序,请参阅 WSGIImportScript 指令。"