0

私はおおよそ次のことを行う簡単なサービスを持っています:

  1. HTTPクライアントがサーバーに接続します
  2. サーバーはクライアントのセッションIDとタイムスタンプをデータベースに書き込み、ほとんどの場合、空の応答を返します。

(実際の作業を行い、実際のデータを返す場合は、この質問とは無関係です)

この応答をできるだけ早く返すために、リクエストハンドラーの本体のmemcacheに情報を書き込み(memcacheは高速であるため)、SQLAlchemyを使用する別の関数が永続に書き込む別のスレッドを生成したいと思いますストレージ。このようにして、memcacheに書き込んでスレッドを生成した直後に戻ることができ、リクエストハンドラーはSQLAlchemyが情報をデータベースに保存するまで待つ必要がありません。

これは意味がありますか?はいの場合、どのように実装すればよいですか?

4

1 に答える 1

2

Celery分散タスクキューのようなものを使用して、処理を他のマシンにオフロードすることができます。別のインフラストラクチャをセットアップする必要がありますが、バックグラウンドで処理するためにWebリクエストからタスクを引き渡すことができ、リクエストに対するHTTP応答をすぐに返すことができます。

于 2010-09-03T11:43:07.600 に答える