我即將在Flask/Google App Engine中實施推送任務隊列。 本質上,我想POST到API並執行任務隊列中的基礎工作。如何將參數傳遞給任務隊列?
初始入口點是一個REST API(flask_restful)
class FTRecordsAPI(Resource):
def post(self):
arguments = self.reqparser.parse_args()
json_records = arguments.get('records')
user = User.query(...).get()
if user:
taskqueue.add(url='/worker/', params={'user': user})
return '', 201
else:
return '', 401
工人被定義爲在url.py視圖:
app.add_url_rule('/worker', 'worker',
view_func=csrf_protect.exempt(TaskView.as_view('taskView')))
而且TaskView是:
from flask.globals import request
class TaskView(MethodView):
def post(self):
user = request.json['user']
return "OK"
奇怪的是,當我在TaskView
中進行調試時,在請求對象中沒有任何地方是用戶ob的任何跟蹤我發送給/worker
的項目。但是我在那裏發現了前一個電話中的records
對象?!
我錯過了什麼?
你確定它要進入taskqueue.add行嗎?任務是否被創建?也許你的網址應該是/ worker而不是/ worker /? – marcadian
是的,我在'TaskView' - >'user = request.json ['user']'中的斷點實際上會中斷。它絕對會進入那裏。 – Houman