Google app engine 添加到taskqueue bucket时,任务队列启动延迟和截止日期超过错误

Google app engine 添加到taskqueue bucket时,任务队列启动延迟和截止日期超过错误,google-app-engine,task-queue,google-app-engine-python,Google App Engine,Task Queue,Google App Engine Python,从两周前开始,我就遇到了一个奇怪的问题。我有一个用GAE Python(服务器端)运行的系统,有100家餐厅,1000名用户毫无问题地工作,但突然之间,因为两周前,每天高峰时间,任务队列中的任务在启动时经历了长时间延迟,两周前只有1或2秒,现在是15到60秒,影响用户体验和可用性。我必须使用taskqueues修改所有代码,并将它们替换为调用urlfetch request async,而无需等待rpc(在某些客户中测试成功)。最糟糕的情况是,当向队列添加任务时,它们在高峰时间导致dealine

从两周前开始,我就遇到了一个奇怪的问题。我有一个用GAE Python(服务器端)运行的系统,有100家餐厅,1000名用户毫无问题地工作,但突然之间,因为两周前,每天高峰时间,任务队列中的任务在启动时经历了长时间延迟,两周前只有1或2秒,现在是15到60秒,影响用户体验和可用性。我必须使用taskqueues修改所有代码,并将它们替换为调用urlfetch request async,而无需等待rpc(在某些客户中测试成功)。最糟糕的情况是,当向队列添加任务时,它们在高峰时间导致dealine超过123个错误(超过100个QPS),每天损失50到1000个请求(从每天300.000个没有问题)。任务和我的进程非常快,它们的持续时间仅为50毫秒到3秒,而不是更多,但我在60000毫秒和更多的时间内得到了很多任务和进程,从未执行,甚至在没有启动的情况下被取消(我在每个从未执行的任务/进程的最开始处都有logging.debug消息)。我有2个空闲实例和所有设置,当挂起延迟超过500毫秒时,无限制地增加实例。我的实例的开始时间只有1秒,引导过程中没有特殊的进程。我有6个模块,分别用于任务,问题影响调用task.add的模块,将任务添加到bucket(而不是执行任务的模块)。为了避免数据存储争用,我做了本论坛和谷歌文档中建议的所有更改,我还停用了日志,我使用了很多memcache,我将F1实例更改为F2,但这个错误仍然存在。两周前就出现了。我有一年半的时间运行我的应用程序,没有问题,突然这个问题出现了

是否有人遇到过同样的问题?在这种情况下,您是否有再次遇到的问题?请注意,我的代码在一年内运行良好,这个问题是从两周前开始出现的,用户数量在增长,但并没有那么多,两周前是850个用户,现在是1000个,所以我认为这不是规模问题。我的流程非常高效和快速。我有3年的GAE Python编程经验和30年的TI经验,对我来说这很奇怪,可能与平台更改有关

此my module.yaml标准配置:

runtime: python27
api_version: 1
instance_class: F2
threadsafe: true

automatic_scaling:
  min_idle_instances: 2
  max_idle_instances: automatic
  min_pending_latency: 10ms
  max_pending_latency: 500ms
  max_concurrent_requests: 20
这是taskqueue配置(我有10个队列,每个队列有10个餐厅)


这似乎是GAE的暂时问题,请参阅此事件状态

我不是唯一一个有此问题的人。。。选中此项:
- name: TaskRegOr00  
  rate: 10/s  
  bucket_size: 100