简单的Google App Engine任务队列教程? Flask/Python/GAE [英] Simple Google App Engine Task Queue tutorial? Flask/ Python/ GAE
问题描述
我什至无法获得任务队列来触发简单的打印语句.
I can't even get a task queue to fire a simple print statement.
我不知道我的应用程序结构是否正确...
I don't know if my app structure is incorrect or not...
最简单的任务队列示例及其结构是什么?
What's the most simple example of a task queue and the structure for it?
因为这对我不起作用:
@app.route('/task', methods=["GET", "POST"])
def testtask():
print "Hi, I'm calling the task"
taskqueue.add(
url='/execute_task'
)
return "I called the task"
@app.route('/execute_task', methods=["GET", "POST"])
def execute_task():
print "I'm executing the task"
return "I excecuted the task"
两条路线都在app.yaml文件中:
both routes are in the app.yaml file:
- url: /execute_task
script: app.app
login: admin
- url: /task
script: app.app
login: admin
在终端机上:
我叫任务INFO 2018-01-28 23:00:49,521 module.py:788]默认值:"GET/task HTTP/1.1" 200 17
Hi, I'm calling the task INFO 2018-01-28 23:00:49,521 module.py:788] default: "GET /task HTTP/1.1" 200 17
http://localhost:8000/taskqueue
显示:
队列名称最大速率桶中队列中最早的任务(UTC)任务
Queue Name Maximum Rate Bucket Size Oldest Task (UTC) Tasks in Queue
默认5.00/秒5 2018/01/28 22:59:59(0:04:44前)2
default 5.00/s 5 2018/01/28 22:59:59(0:04:44 ago) 2
推荐答案
对任务显示的print
语句是没有意义的.您将永远不会看到它.只有任务可以看到它.让任务通过日志与您对话.
A print
statement shown to a task is meaningless. You'll never see it. Only the task sees it. Let the task talk to you via the logs.
看看这是否更好:
from flask import Response
from google.appengine.api import taskqueue
import logging
@app.route('/task', methods=["GET", "POST"])
def testtask():
logging.info("sending task to queue in testtask...")
taskqueue.add(
url = "/execute_task",
name = "task_name_here",
method = "POST",
params = {
"sender": "me"
}
)
return Response("sending task to queue... Check logs", mimetype='text/plain', status=200)
@app.route('/execute_task', methods=["GET", "POST"])
def execute_task():
logging.info("I did the task")
logging.info("params: {}".format(request.form))
return Response("did it. You'll never see this message", mimetype='text/plain', status=200)
这篇关于简单的Google App Engine任务队列教程? Flask/Python/GAE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!