是否可以从django post保存信号中生成一个线程?

时间:2014-12-28 13:27:28

标签: python json django multithreading django-models

我的一个模型上有post_save信号,它在一个大型python字典上调用json.dumps。我想在一个单独的线程中调用此json.dumps,因此它可能不会减慢我的模型上的保存调用。我想知道是否可以从post_save信号中生成一个新线程?我已经读过post_save信号本身就是线程所以可以从中生成另一个Python线程吗?

编辑:出于某种原因,我无法使用芹菜任务。

2 个答案:

答案 0 :(得分:1)

我不知道你会在哪里读到信号在线程中执行,因为它根本不是真的。 Django对线程没有任何作用,你也不应该这样做:如果你想要在进程外执行某些东西,可以使用像Celery这样的任务队列系统。

答案 1 :(得分:1)

这不是你问题的直接答案,但我从Is Django post_save signal asynchronous?中的一个答案中找到了这个提示。我的post_save信号处理程序创建了一个Celery任务。