5

私は次のものを持っています:

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

このtranslateField関数は Microsoft トランスレータ API を呼び出しますが、実行が完了するまでに時間がかかります。

同じことを非同期で行うことは可能ですか?

ありがとう。

4

1 に答える 1

0

Django は非同期フレームワークではありません。

celeryのような非同期ジョブ/タスク キューが必要です。

Celery は、分散メッセージ パッシングに基づく非同期タスク キュー/ジョブ キューです。リアルタイム操作に重点を置いていますが、スケジューリングもサポートしています。

django-celeryパッケージを使用すると、django とセロリを簡単に統合できます。

Redis Queueプロジェクトもあります。

RQ (Redis Queue) は、ジョブをキューに入れ、ワーカーを使用してバックグラウンドで処理するためのシンプルな Python ライブラリです。Redis に支えられており、参入障壁が低くなるように設計されています。Web スタックに簡単に統合できるはずです。

以下も参照してください。

于 2013-09-07T19:07:36.370 に答える