【发布时间】:2012-06-29 03:33:04
【问题描述】:
我正在使用 django,我想从一个函数发送一个信号,并在另一个函数的中间为该信号创建一个“等待点”。
更详细地说, 我正在使用第 3 方 api。所以,
def foo():
id = thirdPartyFunction(action='/bar')
id.save()
# send signal!
return render_to_response('pleaseWait.html')
def bar():
# initialize this and that
# ...
# WAIT FOR SIGNAL
return HttpResponseRedirect('success.html')
如何在函数中间创建一个监听器。 目前,我的理解是信号调度程序调用另一个函数。我不知道该怎么做。
感谢您的时间和帮助:)
【问题讨论】:
-
无法使用 Django 信号。但是,您可以使用 Celery 之类的东西在
foo中运行任务,然后在bar中轮询以确定何时完成。 -
你给这个问题加了异步标签?
Django Signals是同步的。 -
对我的第三方应用程序的调用是异步的。
-
使用 javascript 每 x 秒轮询一次服务器比让视图等待完成更常见。
-
这正是我最终所做的! :)
标签: django asynchronous signals messaging django-signals