在Google App Engine开发服务器中组合--backends和事务任务队列的问题?

时间:2012-01-19 01:06:40

标签: python google-app-engine transactions backend

我正在将一个相当大的App Engine应用程序上的某些功能移动到后端,并且突然开始在我通过dev_appserver.py运行时使用事务的地方出现了一些错误:

ApplicationError: ApplicationError: 10001 Transaction(<handle: 0x1, app: "dev~MYAPPNAME", >) not found

我意识到问题只发生在我通过--backends运行应用程序时。我猜这个问题正在发生,因为我有一个使用“transactional=True”将任务添加到队列的事务,即:

def txn():

    # make model changes

    taskqueue.add(url='/models/processupdate', params=my_params, transactional=True, queue_name='not_the_default_q')
  db.run_in_transaction(txn)

这是dev_appserver的“单线程”特性的结果吗?有解决方法吗?

1 个答案:

答案 0 :(得分:0)

根据google doc here,如果您的任务是事务性的,则无法命名队列,只能将事务任务添加到默认队列中!