/ / Pythonでの処理の遅延 - python、twisted、boto、gevent、eventlet

Pythonで処理を遅らせる - python、twisted、boto、gevent、eventlet

私は、既存のプロセスを遅くしないように、非ブロック的な方法でイベントを書き込もうとしています。利用可能な2つのオプションがあるようです:

他にもオプションがありますか?誰もこれを経験していますか?

背景:Amazonにイベントを書き込む予定です CloudWatch サービスと私は待ち時間を心配していますPUTリクエストを行う。私は実際には答えが変わった場合にはいくつかのPUTを失うことに心配していません(警告の目的でイベントを書き込んでいて、いずれにしても一週間後にパージされます)。

回答:

回答№1は1

ロギングがアプリケーションに適合し、それが鳴る場合したがって、ねじれを使用するよりも簡単にする必要があります。メモリ内のスレッドセーフキューにログを記録し、別のスレッド(または複数)をプルしてクラウドにプッシュすることができます。

それは、ねじれがより速くても、少なくともスケーラビリティがあるかもしれませんが、特に、あなたがそれを知ることができなければ、より急な学習曲線になります。

スレッドがヒットリミットに近づくと、あなたのロギングハンドラを、アプリへのインターフェースを変更することなくツイストして使用するように切り替えてください。


回答№2の場合は1

これはgevent(ちょうど別のグリーンレットでPUTを行い、ソケットをパッチしたもの)で簡単です。