appengine создает очередь не удалось - PullRequest
0 голосов
/ 05 марта 2012

Сбой создания очереди задач в appengine со следующей исключительной ситуацией

com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:86)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:505)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:427)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:412)

Некоторое время он работает на локальном dev-сервере, прежде чем завершится сбоем со следующим исключением

com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:74)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:505)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:427)
com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:412)

Вот код, который я использую

TaskOptions taskOption = TaskOptions.Builder.withUrl(servletPath).countdownMillis(time)
taskOption.taskName(name)

Queue queue = QueueFactory.getQueue(taskQueue)
queue.add(taskOption)

1 Ответ

0 голосов
/ 06 марта 2012

Кажется, что локальный сервер более слаб с taskName. Исключение в QueueApiHelper.java:86 произойдет в appengine, если имя имеет верхний регистр или если имя используется повторно (Надеюсь, appengine разрешит повторное использование имени через определенный период. Я заметил, что не разрешит повторное использование имени с 5 минут.). Исключение в QueueApiHelper.java:74 на локальном сервере произойдет, если две задачи с одинаковым именем будут созданы одновременно. Итак, вот (описательное) исправление

taskOption.taskName(name.toLowerCase().replaceAll("[^a-z0-9]+","") + System.currentTimeMillis())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...