def decorator(*args, **kwargs):
if getattr(g, 'in_celery', False):
return f(*args, **kwargs)
environ = {k: v for k, v in request.environ.items()
if isinstance(v, text_types)}
if 'wsgi.input' in request.environ:
environ['_wsgi.input'] = request.get_data() # request.body
task = run_ctx_request.apply_async(args=(environ,))
if task.state == states.PENDING or task.state == states.RECEIVED or \
task.state == states.STARTED:
return '', 202, {'Location': url_for('api.get_status', id=task.id)}
return task.info
评论列表
文章目录