В настоящее время я пытаюсь ставить задачи в очередь в App Engine с помощью среды Flask, но у меня возникают некоторые трудности. Я запускаю свой код, и кажется, что задачи правильно поставлены в очередь, когда я проверяю сервер администратора по адресу localhost:8000/taskqueue. Однако консоль постоянно выводит следующую ошибку:
WARNING 2016-10-05 17:08:09,560 taskqueue_stub.py:1981] Task task1 failed to execute. This task will retry in 0.100 seconds
Кроме того, не похоже, что желаемый код выполняется.
У меня вопрос, почему мой код не работает? Я извиняюсь за очень широкий вопрос, однако нет трассировки стека, которая помогла бы мне перейти к чему-то более конкретному. Однако я упростил свой код, чтобы моя ошибка воспроизводилась. Приведенный ниже код должен вывести на консоль фразу «пример задачи» 5 раз. Однако этого не происходит.
#main.py
from google.appengine.api.taskqueue import taskqueue
from flask import Flask, Response
app = Flask(__name__)
@app.route("/get")
def get():
for i in range(5):
# attempt to execute the desired function 5 times
# the message "sample task" should be printed to the console five times
task = taskqueue.add(
queue_name='my-queue',
url='/sample_task',
)
message += 'Task {} enqueued, ETA {}.<br>'.format(task.name, task.eta)
response = Response(message)
return response
@app.route("/sample_task")
def sample_task():
message = "sample task"
print (message)
return Response(message)
if __name__ == "__main__":
app.run()
приложение.yaml
# app.yaml
runtime: python27
api_version: 1
threadsafe: true
# [START handlers]
handlers:
- url: /sample_task
script: main.app
login: admin
- url: /get
script: main.app
login: admin
очередь.yaml
# queue.yaml
queue:
- name: my-queue
rate: 1/s
bucket_size: 40
max_concurrent_requests: 1
methods= 'POST'
во входные параметры роутера. Но все же, спасибо за проверку моего кода. - person B B   schedule 06.10.2016