11

プレーンな Flask アプリからメールを送信する必要があったため、最も簡単な方法は smtplib を使用して送信することだと考えました。しかし、私はそれを非同期で行う必要がありました.3秒の遅延をリクエストに挿入することはできません.そうですか? そこで、メールをキュー (psql テーブル) に追加し、このテーブルを読み取り、smptlib を使用する別のプログラムから送信します。

この 2 番目のプログラム (maildonkey) は、独立した upstart サービスで別のプロセスとして実行されています。

今、私はそれらの小さな非同期サービスの別の 1 つを必要としており、別の Python スクリプトを作成する必要があるかどうか (3 番目に、Flask アプリと「maildonkey」を数えます)、または Python の「マルチプロセス」や「スレッド」などを使用する必要があるかどうかを考えています。 ' そして 2 番目のプログラムを書き直しますか?

(Clojure でプログラミングしていたときは、'futures' を使用してコードを別のスレッドで簡単に実行できたので、通常はそうします。)

4

2 に答える 2

10

Celeryの使用を検討する必要があります。非同期処理用の Web フレームワークで非常に広く使用されており、AMQP、データベースなどのさまざまなバックエンドをサポートしています。

于 2012-04-04T01:46:18.213 に答える