我有以下内容:
def save(self):
for lang in ["es", "ar"]:
setattr(self, "title_" + lang, translateField(self.title, lang))
super(Landmarks, self).save()
translateField
函数调用Microsoft转换程序API,这需要一些时间才能完成执行。
是否可以异步执行相同的操作?
感谢。
答案 0 :(得分:0)
Django不是异步框架。
您需要一个异步作业/任务队列,例如celery:
Celery是一个基于分布式的异步任务队列/作业队列 消息传递。它专注于实时操作,但支持 调度也是如此。
django-celery包可以更容易地集成django和芹菜。
还有一个Redis Queue项目:
RQ(Redis Queue)是一个简单的Python库,用于排队作业和 与工人一起在后台处理它们。它得到了Redis的支持 它的设计目标是进入障碍。它应该是 轻松集成到您的Web堆栈中。
另见: