使用cron作业点击_ah/warmup处理程序,在日志中获取301。为什么要重定向?它不应该返回200吗?

2024-06-08 16:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我的用例是这样的,我最好在app.yaml中将min_instance设置为零,但有一个实例始终运行默认版本

因此,为了做到这一点,我已经安排了一个cron作业,每14分钟启动一次,因为该实例在15分钟无活动后关闭

现在我不明白的是,当cron作业运行时,它会失败,并且在日志中显示301。而这是我的热身处理程序的代码

def warmup(request):
 
    return JsonResponse(data={})

它不应该返回200吗?。我还注意到,即使这是一个重定向,目标也正在实现。实例没有关闭。但我只是好奇为什么它会重定向


Tags: 实例instance代码版本app处理程序yamldef
1条回答
网友
1楼 · 发布于 2024-06-08 16:16:43

Cron作业和_ah/url最终被App引擎称为非HTTPS请求。有力地说:)

如果您通过服务器/框架强制使用SSL,那么您将进入一个重定向循环。因此,App Engine将使用非HTTPS调用它,您的服务器/框架将尝试将其“升级”为HTTPS,App Engine随后将强制其返回非HTTPS,直到达到重定向限制为止

要解决此问题,请找到一种方法,使/_ah/warmup URL免于强制使用HTTPS。实际上,您可以先用HTTPS在浏览器中点击/_ah/warmup请求,然后注意它将降级为HTTP(一旦修复到位)

相关问题 更多 >