我们有两个 cron 作业,它们遇到了两个不同的动态后端,并且都遇到了同样的问题。我可以通过导航到 cron 作业直接在浏览器中执行的 URL 来复制问题。
我们的应用程序的冷启动时间相当长。当我导航到使用后端的 URL 时,我看到以下错误
Error: Server Error
The service you requested is not available yet.
Please try again in 30 seconds.
在日志中,我看到后端的 /_ah/start 请求(我们没有特定的处理程序)并带有以下消息:
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
然后我所做的是刷新后端 URL,它工作正常。
所以我的理论是,如果后端已经加载,cron 作业可以正常工作。如果不是,它不会等待足够长的时间来查看后端是否会加载。
假设这是正确的,有没有办法让 cron 作业等到 /_ah/start 完成?
另外两个选项是使用我们不想做的常驻实例,或者改善我们的冷启动时间,这在待办事项列表中但直到现在对我们来说还不是问题(我们使用常驻实例作为前端)。
后端是B1。假设我们可以升级它,但作为一家资金紧张的初创公司,我宁愿不升级。