バッチ処理についてお聞きしたいと思います。私はこれらのステップからなる100,000のビジネスフローを処理する必要があります:PDF(非同期)を生成し、メールを送信し、文書をアーカイブシステムにアップロードします。私は失敗したジョブを制御しているので、春のブート(非同期サービスタスク)でactivitiを使用することを検討しています。アクティビティやカンダなどのツールを使用するのが良いかどうかはわかりません。バッチ処理業務フロー
答えて
あなたは、マルチインスタンス・コール・アクティビティを使用することができます。マルチインスタンスを使用すると、コールアクティビティの実行方法を指定することができます(100〜1000回)。コールアクティビティはプロセスモデルを呼び出してpdfをアーカイブします。各呼び出し(マルチインスタンスのインスタンス)では、呼び出されたプロセスに忘れてはならない変数を定義することができるので、メインプロセスにPDFファイル名のリストを持ち、各サブプロセスに名前を送ることができます。 主なプロセスは、次のようになります。
がそうでなければ、これは100_000インスタンスでは動作しません、あなたは非同期継続を使用する前に、非同期のマルチインスタンスを作成することを確認してください。マルチインスタンス・コール・アクティビティは、次のようになります。camundaで
<bpmn:callActivity id="Task_0fl5th9" name="archiving pdf" calledElement="archivePdf">
<bpmn:incoming>SequenceFlow_04xoo79</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0036ezx</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics camunda:asyncBefore="true" camunda:collection="pdfNames" camunda:elementVariable="pdfName">
<bpmn:loopCardinality xsi:type="bpmn:tFormalExpression">100_000</bpmn:loopCardinality>
</bpmn:multiInstanceLoopCharacteristics>
</bpmn:callActivity>
multiInstanceLoopCharacteristicsは各項目に対してコミットしているようです。コミット数を設定する方法はありますか?私がcamunda.bpm.job-execution.core-pool-size = 5を使用したとき、ログ内のデッドロック例外に気づいた。 '### SQL:select * from ACT_RU_EXECUTION where PROC_INST_ID_ =? ###原因:com.microsoft.sqlserver.jdbc.SQLServerException:トランザクション(プロセスID 62)が別のプロセスとロックリソースでデッドロックされ、デッドロックの対象として選択されました。トランザクションを再実行してください。 ' – Bully
ACT_RU_JOBテーブルで同じデッドロックが表示されます '### SQL:select * from ACT_RU_JOB J where.EXECUTION_ID_ =?' – Bully
- 1. Mybatisバッチ処理
- 2. バッチ処理ループ
- 3. XSLTバッチ処理
- 4. Hibernateバッチ処理
- 5. は、バッチ処理
- 6. Simpy Storeバッチ処理
- 7. Scalaのバッチ処理
- 8. Tensorflow:Inception v3バッチ処理
- 9. バッチ処理でロールバック
- 10. RabbitMQバッチ処理メッセージ
- 11. Tensorflow:sess.runで永久にバッチ処理されたバッチ処理
- 12. バッチ処理でレコードをバッチ処理し、ファイルに集約する
- 13. クラスライブラリプロジェクトでの業務を処理するファイルを作成する方法
- 14. Facebookのバッチ処理エラー
- 15. テンソルフローのgraph_cnnのバッチ処理
- 16. フリンクストリーミングまたはバッチ処理
- 17. 分散並列バッチ処理
- 18. バッチ処理のパンデック変換
- 19. Symfony2の - doctrine2バッチ処理
- 20. バッチ処理とCATコマンド
- 21. QuickCheck 2バッチ処理QuickCheckの
- 22. mule:バッチ処理のトランザクション
- 23. Oracle SOAでのバッチ処理
- 24. シングルトランザクションでのバッチ処理タスクレット
- 25. バッチ処理と関数プログラミング
- 26. symfonyのバッチ処理セキュリティ
- 27. バックボーンjsバッチ処理保存
- 28. Tensorflow - バッチ処理の問題
- 29. バッチ処理のMP3ファイル
- 30. Pythonでのバッチ処理。
、あなたはcamunda-BPM-カスタムバッチ拡張子をチェックアウト、カスタムジョブのためにエンジン内部のバッチ処理を使用することができます。 –
もう一つの可能性はhttp://www.flowable.org/です。ジョブ処理がActiviti5(Flowable5)<-> Flowable6の間で変更されました。例えばデッドレターキューと++ チームをチェックするとhttp://www.flowable.org/team.html - >コアアクティビティチームがFlowableに移動しました。 –