有没有办法动态确定当前正在执行的任务是标准http请求还是TaskQueue?Google App Engine:确定当前请求是否为任务队列
在我的请求处理程序的某些部分,我创建了一些urlfetches。如果请求是一个标准的http请求,我希望URL抓取的超时延迟很短,如果它是一个TaskQueue,则延长。
有没有办法动态确定当前正在执行的任务是标准http请求还是TaskQueue?Google App Engine:确定当前请求是否为任务队列
在我的请求处理程序的某些部分,我创建了一些urlfetches。如果请求是一个标准的http请求,我希望URL抓取的超时延迟很短,如果它是一个TaskQueue,则延长。
接下面的HTTP标头中的任一个:
X-AppEngine-QueueName
,队列的名称(可能默认)X-AppEngine-TaskName
,任务的名称,或系统生成的唯一的ID,如果没有名称被指定为X-AppEngine-TaskRetryCount
,此任务已被重试的次数;对于第一次尝试,这个值是0X-AppEngine-TaskETA
,任务的目标执行时间,自1月1日1970年标准HTTP请求将不会有这些头以微秒指定。
任务请求始终包含特定的set of HTTP headers,您可以检查该请求。
cron作业也是一样..'X-AppEngine-Cron:true' https://developers.google.com/appengine/docs/python/config/cron#Securing_URLs_for_Cron – Lipis
有趣。我想我会包装创建一个TaskQueue请求添加一个额外的布尔值kwargs的代码。可能是凌乱的。 –