【发布时间】:2018-03-16 12:39:01
【问题描述】:
目前正在尝试清理 celery 如何与被告知可以异步工作的 django 一起工作
我已经运行了简单的celery 任务,该任务按照文档运行良好,所以我相信我已经安装了 celery 并且运行良好。
但不知何故,我不确定它在return 之后如何工作和运行
例如
我有这个来创建一个新的用户任务
@app.task
def new_user(first, last, table):
user = UserProfile()
user.first_name = first
user.last_name = last
user.table = table
user.save()
return user
我有一个 post api 调用只是为了将其作为 celery 工作原理的示例。
我有这个想法
class List(View):
def post(self, request):
all_users = UserMQS().profile()
output = []
for user in all_users:
output.append({
'id': user.id,
'first_name': user.first_name,
'last_name': user.last_name
})
ns = new_user.s('First Name1', 'Last Name1', "Table1")
res = ns.delay()
return JsonResponse(output, safe=False)
res.get()
我也尝试过new_user.delay('First Name1', 'Last Name1', "Table1") 之类的方法,但还是不行。
谁能告诉我如何做到这一点?
我希望 return JsonResponse 在创建 new_user 时运行。这不仅仅是为了创建new_user,我只是为了测试 celery 的工作原理,以便在我掌握 celery 后可以实现一些其他的东西。
提前感谢您的任何建议。
【问题讨论】:
-
如果你想修复一个错误,你可能想展示一个? :) 你的芹菜工人在日志中说了什么?你的 celery 配置怎么样?
标签: python django asynchronous celery