Проблемы с объединением - backends и очередей транзакционных задач на сервере разработчиков Google App Engine? - PullRequest
4 голосов
/ 19 января 2012

Я перенес некоторые функции в довольно крупном приложении 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 голосов
/ 07 февраля 2012

в соответствии с Google Doc здесь , вы не можете назвать очередь, если ваша задача транзакционная, задача транзакции может быть добавлена ​​только в очередь по умолчанию!

...