問題タブ [greenlets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - gevent による明示的な switch()
gevent で原始的なプロデューサー/コンシューマー スクリプトを実行しています。ものを に入れるいくつかのプロデューサー関数とgevent.queue.Queue、キューからそれらを再度フェッチする 1 つのコンシューマー関数を開始します。
gevent にスケジューリングを暗黙的に処理させれば (たとえば、time.sleep やその他のgevent.monkey.patch()ed 関数を呼び出すことによって) うまく動作しますが、コンシューマに明示的に切り替えると (time.sleepコメントアウトされたswitch呼び出しに置き換えます)、gevent は AssertionError を発生させます:
本番環境では多くのプロデューサーがあり、gevent のスケジューリングではコンシューマーに十分なランタイムが割り当てられず、キューがどんどん長くなるため (これは悪いことです)、明示的な切り替えを採用したいと思います。または、gevent のスケジューラを構成または変更する方法についての洞察をいただければ幸いです。
これは Python 2.7.2、gevent 1.0.1、および greenlet 0.4.5 にあります。
python - モンキーパッチを使用してもフラスコによってブロックされたGevent
フラスコ + gevent を使用してサーバーを構築していますが、'getall' という名前の gevent がフラスコによってブロックされたため、'getall' 関数はこのコードでメッセージを出力できません。モンキーパッチ使用です。
gevent - rdflib と gevent はうまく連携しますか?
rdflib (SPARQL/SPARQL Update など) は、非同期 Web フレームワーク設定 (gunicorn/pyramid、Flask など) で gevent とうまく動作しますか? 目標の 1 つは、実行時間の長い (ただし、外部メッセージ キューを必要とするほど長くはない) を独自の greenlet ワーカーにオフロードすることです。
どちらにしても、明確なポインタが見つかりません。また、微妙な効果を把握するには高度なテスト設定が必要になるため、チェックアウトは信頼できるオプションではありません。
更新: socket.io を実行し、gevent/gunicorn と rdflib を使用する、来歴の視覚化用の Flaskアプリケーションを見つけました。ということで、組み合わせは合っていると思います。注意事項があるかどうかは不明です。
python - Gevent/greenlet は、接続ハンドラから返されたときにソケットを閉じます。
gevent 1.0.2 では、私は StreamServer を使用しています。接続を処理するとき、キューで待機しているイベントを送信するために dict にソケットを保持しています。これは 1.0.2 では正常に機能しますが、最新バージョン 1.1.x ではソケットだけ接続ハンドラから返されると閉じます。Pythonの最新のgeventでこれを機能させるにはどうすればよいですか。
開いているソケットをディクショナリに保持し、イベントが発生したときにイベントをブロードキャストします。これは 1.0.2 バージョンでは問題なく動作しますが、最新の 1.1.x では、接続ハンドラから返されたときにこのソケットを閉じるだけです。
python - 屈服せずに眠ることは可能ですか?
grequests.send短いが正確な遅延 (たとえば 20 ミリ秒)を使用して、2 つの非同期要求を送信したいと考えています。両方のリクエストが送信された後にのみ、レスポンスを処理したい。
リクエスト 2 が送信される前にリクエスト 1 のレスポンス ハンドラに渡され、リクエスト 2 が遅れて送信されるため、2 つの送信の間に atime.sleepを挿入しても機能しません。sleep
上記のブロック全体がアトミックに実行され、ビジーな待機なしで、リクエスト間の予想される待機時間にできるだけ近くなるようにするにはどうすればよいですか?
python - 問題の理解 警告: 醸造されていないヘッダー ファイルが /usr/local/include に見つかりました
を実行した後brew doctor、よくわからないヘッダー ファイルに関連するこのエラーが発生します。何が何なのかわからないので、この投稿greenletで提案されているように削除するのが心配です。
次の質問に答えてください。
1. エラーのUnbrewed header files実際の意味は何ですか?
2. エラーにリストされているファイルを削除する必要がありますか?