Python 针对后端的Google App Engine推送任务未在生产服务器上执行

Python 针对后端的Google App Engine推送任务未在生产服务器上执行,python,multithreading,google-app-engine,backend,task-queue,Python,Multithreading,Google App Engine,Backend,Task Queue,我对生产服务器后端的推送任务队列有一个非常奇怪的问题 我有一些简单的任务,它们将编写一些日志消息和一些NDB实体。当他们在后端运行时,他们只是默默地“走开”。后端日志中只有一行表示这些任务的POST方法已被调用,但所有其他指示正在执行的任务的内容(例如,任务编写的日志消息、数据存储操作等)都不可见 我试图在任务运行时从控制台监视任务队列,我看到几乎所有任务都在不重试的情况下运行。但他们看起来根本不像是在跑步。如果我将它们移出后端,它们都会正常运行(日志条目,ndb),前提是它们可以在10分钟期限

我对生产服务器后端的推送任务队列有一个非常奇怪的问题

我有一些简单的任务,它们将编写一些日志消息和一些NDB实体。当他们在后端运行时,他们只是默默地“走开”。后端日志中只有一行表示这些任务的POST方法已被调用,但所有其他指示正在执行的任务的内容(例如,任务编写的日志消息、数据存储操作等)都不可见

我试图在任务运行时从控制台监视任务队列,我看到几乎所有任务都在不重试的情况下运行。但他们看起来根本不像是在跑步。如果我将它们移出后端,它们都会正常运行(日志条目,ndb),前提是它们可以在10分钟期限内完成。然而,在开发服务器上,无论它们是否在后端,它们都正常运行。我真的很纳闷为什么这些任务会这样

我有一个任务处理程序,它可以执行以下操作:

class MyTask(webapp2.RequestHandler):
    def post(self):
        _do_some_computation_
        logging.info("some log message")
        some_ndb_entity = _some_thing_
        some_ndb_entity.put()
根据此类任务(MyTask)的估计运行时间,我将决定是否将其定位到后端

if big_task:
    taskqueue.add(url = '/task/mytask', 
                  queue_name = 'queue-for-backend', 
                  params = {key: value},
                  target = 'my-backend')
else:
    taskqueue.add(url = '/task/mytask', 
                  queue_name = 'queue-regular', 
                  params = {key: value})
我用不同的参数配置了两个队列,后端队列的max_并发请求数量较少,因此我没有看到后端任务出现“503实例不可用”错误。所以我的问题是,我看到这些任务在后端毫无错误地运行,但我看不到他们会编写的日志消息,也看不到他们会放入数据存储的ndb实体。这些行为只发生在生产服务器上


我对此一无所知。我将非常感谢任何帮助或建议,提前谢谢。

我已经找到了解决方案-结果是,不知何故,我用来更新应用程序的Windows启动器阻碍了这一点-尽管我认为自上次使用命令行appcfg更新后,我没有更改后端。在我用appcfg重新更新之后,一切都正常了。在我的测试中,我从我的任务中删除了do_some_计算部分(只运行一些最小的测试任务),它抛出了一些以前没有看到的错误。我真的不知道为什么会这样。