Ошибка Google App Engine Неизвестная очередь задач

Я только что развернул приложение appengine, и когда я отдыхаю, получаю вызов для запуска очереди, я получаю значение UnknownQueueError. Похоже, что исключение выбрасывается в строке исходного кода ниже. Любые идеи о том, что вызывает проблему. Я тестировал локально, и он отлично работает.

 q.add(task)

Исключение

Exception on /tasks/stock/prices/dispatch [GET]
Traceback (most recent call last):
File "/base/data/home/apps/s~xxxxx-173913/internal-
api:20170716t091842.402709903291335684/lib/flask/app.py", line 1817, 
in wsgi_app
response = self.full_dispatch_request()
File "/base/data/home/apps/s~xxxxx-173913/internal-
api:20170716t091842.402709903291335684/lib/flask/app.py", line 1477, 
in full_dispatch_request
rv = self.handle_user_exception(e)
File "/base/data/home/apps/s~xxxx-173913/internal-
api:20170716t091842.402709903291335684/lib/flask/app.py", line 1381, 
in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/base/data/home/apps/s~xxxxxx-173913/internal-
api:20170716t091842.402709903291335684/lib/flask/app.py", line 1475, 
in full_dispatch_request
rv = self.dispatch_request()
File "/base/data/home/apps/s~xxxxxx-173913/internal-
api:20170716t091842.402709903291335684/lib/flask/app.py", line 1461, 
in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/base/data/home/apps/s~xxxx-173913/internal-apixxx/
internal/tasks/stock_prices_dispa
tch.py", line 34, in run
q.add(task)
File"/base/data/home/runtimes/python27/python27_lib
/versions/1/google/appengine/api/taskqueue/taskqueue.py",
line 2128, in add
return self.add_async(task, transactional).get_result()
File"/base/data/home/runtimes/python27/python27_lib
/versions/1/google/appeng
ine/api/apiproxy_stub_map.py", line 613, in get_result
return self.__get_result_hook(self)
File "/base/data/home/runtimes/python27/
python27_lib/versions/1/google/appeng
ine/api/taskqueue/taskqueue.py", line 2162, in ResultHook
raise exception
UnknownQueueError

Исходный код

 task = Blueprint('tasks.stock.prices.dispatch', __name__)
 @task.route('/tasks/stock/prices/dispatch')
 def run():
  q = taskqueue.Queue('push-queue')
  from_date = request.args.get('from')
  to_date = request.args.get('to')

  with open(os.path.join(os.path.dirname(__file__), 
            "../resources/dow_30.csv")) as csvfile:

    reader = csv.DictReader(csvfile)
    for row in reader:
        ticker = row['TICKER']
        stock_code = row['StockCode']

        task = taskqueue.Task(
            url='/tasks/stock/prices/shard',
            target='internal-api',
            headers={'Content-Type' : 'application/json'},
            payload=json.dumps({'ticker': ticker, 'stock_code': stock_code, 'from' : from_date, 'to' : to_date}))

        logging.info("StockCode :=" + stock_code)

        q.add(task)

return "OK"

person user845405    schedule 17.07.2017    source источник
comment
Вы видите свою push-queue очередь на экране очередей задач консоли разработчика? Если нет, попробуйте явно развернуть конфигурацию очереди: cloud.google .com / appengine / docs / standard / python / tools / (или используя gcould app deploy <path_to_your_queue.yaml>)   -  person Dan Cornilescu    schedule 17.07.2017
comment
@DanCornilescu сработал отлично !. Большое спасибо   -  person user845405    schedule 17.07.2017


Ответы (1)


Когда я развернул приложение, я забыл развернуть queue.yaml. Как только я сделал следующее (предоставлено @DanCornilescu), проблема была решена.

gcould app deploy <path_to_your_queue.yaml>
person user845405    schedule 17.07.2017