moe*_*nad 5 python django asynchronous
我有以下几点:
def save(self):
for lang in ["es", "ar"]:
setattr(self, "title_" + lang, translateField(self.title, lang))
super(Landmarks, self).save()
Run Code Online (Sandbox Code Playgroud)
该translateField函数调用 Microsoft 转换器 API,这需要一些时间才能完成执行。
是否可以异步执行相同的操作?
谢谢。
Django 不是一个异步框架。
您需要一个异步作业/任务队列,例如celery:
Celery是一个基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。
django-celery包使得 django 和 celery 的集成变得更加容易。
还有一个Redis Queue项目:
RQ(Redis 队列)是一个简单的 Python 库,用于对作业进行排队并在后台与工作人员一起处理它们。它由 Redis 支持,其设计门槛较低。它应该很容易集成到您的网络堆栈中。
另请参阅:
| 归档时间: |
|
| 查看次数: |
3748 次 |
| 最近记录: |