Django异步 - 关于模型保存功能

时间:2013-09-07 19:05:40

标签: python django asynchronous

我有以下内容:

def save(self):
    for lang in ["es", "ar"]:
        setattr(self, "title_" + lang, translateField(self.title, lang))
    super(Landmarks, self).save()

translateField函数调用Microsoft转换程序API,这需要一些时间才能完成执行。

是否可以异步执行相同的操作?

感谢。

1 个答案:

答案 0 :(得分:0)

Django不是异步框架。

您需要一个异步作业/任务队列,例如celery

  

Celery是一个基于分布式的异步任务队列/作业队列   消息传递。它专注于实时操作,但支持   调度也是如此。

django-celery包可以更容易地集成django和芹菜。

还有一个Redis Queue项目:

  

RQ(Redis Queue)是一个简单的Python库,用于排队作业和   与工人一起在后台处理它们。它得到了Redis的支持   它的设计目标是进入障碍。它应该是   轻松集成到您的Web堆栈中。

另见: