それぞれ 10 スレッドの 2 つのスレッド プールを使用して API からデータを取得するスクリプトを作成しました。スレッド プールは、このコードを ActiveState に実装します。各スレッド プールは、新しいエントリについてPubSubを介して Redis データベースを監視しています。新しいエントリが公開されると、Python は Python のSubprocess.POpenを使用する関数にデータを渡し、PHP シェルを実行して API を呼び出す実際の作業を行います。
PHP シェルを起動するこのシステムは、私の PHP Web アプリの機能に必要なので、Python で PHP シェルを起動することは避けられません。
このスクリプトは、Linux サーバーでのみ実行されます。
アプリケーションのスレッドのナイスネス(スケジューリングの優先度)を制御するにはどうすればよいですか?
編集:
Python で個々のスレッドのスケジューリング優先度を制御することはできないようです。優先度を制御するために、python ソリューション、または少なくともスクリプトと一緒に実行できる UNIX コマンドはありますか?
編集2:
まあ、それを処理するPythonの方法を見つけることにはなりませんでした。次のように、スクリプトをナイスで実行しています。
nice -n 19 python MyScript.py