私はJava Play Frameworkにアプリケーションを持っており、ユーザーは複数のタスクを同時に実行することができ、完了に時間がかかることがあります。私はそれをするためにactorSystem.scheduler()
を使うことができると思った。しかし、私はいくつかのテストを行い、ユーザーが同時に4つのタスクを実行できることが分かっていれば、サーバーが提供できる以上のリソースをタスクに費やすことになります。では、Akkaスケジューラで同時に実行されているタスクの数を制限する方法はありますか?akkaスケジューラで実行中のタスクの数を制限する方法は?
1
A
答えて
2
同時タスクをグローバルに制限する場合は、akka max pool sizeをその数に設定できます。コンフィギュレーションに関する情報はこちらです:
akka.actor.default-dispatcher.fork-join-executor.pool-size-max = 64
あなたが同時に実行したいタスクの最大数に設定することができます。https://playframework.com/documentation/2.5.x/JavaAkka
は具体的には、設定があります。これは、使用されるスレッドの数です。
0
スケジューラオブジェクトを格納するプール(blockingLinkQueueでもかまいません)を使用します。
ユーザーがいる場合は、プールからインスタンスを取得してください。それ以外の場合は待機します。そうすれば、あなたはuシステムで使用する最大スケジューラーを制御できます。
関連する問題
- 1. 実行中の同時並行タスクの制限
- 2. セロリのタスクをタスク名で制限する方法は?
- 3. SLURMで実行中のジョブの数を制限する
- 4. play 2.0アプリケーションでakkaのスケジューラを使用する方法は?
- 5. アクターモデルパターン:同時実行中のアクターの数を制限する
- 6. スクリプトを実行する権限を制限する方法は?
- 7. Akkaクラスター内でAkka-HTTPサーバーを実行する方法は?
- 8. 長時間実行中のタスクを強制終了/再開する方法
- 9. Herokuスケジューラの制限メモリ
- 10. タスクの数を制限する
- 11. Pythonマルチプロセッシング:待機中のプロセス数を制限する方法は?
- 12. 'timeout'コマンドで実行中のプロセスのタイムアウト制限を増やす方法
- 13. Cで実行中のタスクを停止する方法
- 14. javascriptで関数の実行時間を制限する方法は?
- 15. Linuxカーネルでタスクのシステムコールの時間を制限する方法
- 16. 行数や文字数をCSSで制限する方法は?
- 17. スレッドプール:実行中のタスクから子タスクを生成する方法は?
- 18. 実行ディレクトリへのPHPファイルアクセスを制限する方法は?
- 19. 番号を制限する方法作成中の表の行の数
- 20. 実行中のRプロセスの数を制限する方法はありますか
- 21. Akkaスケジューラをキャンセルする
- 22. アンドロイドで現在実行中のタスクを殺す方法
- 23. ページング= falseの場合の行数を制限する方法は?
- 24. Autoit - 実行回数を制限する
- 25. 実行中のタスクを.netメモリダンプにリストする方法
- 26. akkaクラスタを使用してユニークなタスクを実行する慣用方法
- 27. JTextAreaの行数を制限する方法は?
- 28. Textarea(Redactor)の行数を制限する方法は?
- 29. データベースの行数を自動的に制限する方法は?
- 30. xgboost実行時間を制限する方法は?
10個のタスクに制限を設け、ユーザーが別のタスクを送信したとします。この新しいタスクはどうなりますか? Akkaはそれをキューなどに配置しますか?そして、プールサイズを変更すると、スケジューラ上の並行タスクの数よりも変化するだろうと思いますが、要求をどのように処理するのか、私は正しいのでしょうか? – pedroct92
はい、Akkaは耐久性のあるメールボックスのコンセプトを使用しています(デフォルトはそうではありません):http://doc.akka.io/docs/akka/snapshot/scala/mailboxes.html。デフォルトは無制限のメモリ内メールボックスですが、このページに記載されているような耐久性のあるメールボックスがあります:http://doc.akka.io/docs/akka/2.1.0/modules/durable-mailbox.html – Jamie
この機能でのみ使用できる新しいディスパッチャを作成できるので、デフォルトのディスパッチャを使用する他のものには影響しません。ありがとう@Jamie。 – pedroct92