非同期アップロード更新

最終更新日: 2021年1月29日
R8 | R9

準備

"環境 > アプリケーション" で、利用するメッセージキューを指定してください。[詳細...]

設定

対象モデルの "画面 > アップロード更新" を開きます。次の設定を行います。

図1 アップロード更新の設定
設定欄説明
アップロード更新画面"画面を作成する" を有効にする。
アップロード更新ジョブ"アップロード更新ジョブを作成する" を有効にする。
"アップロード更新画面でメッセージジョブ機能を使用する" を有効にする。
アップロード更新ジョブ > 送信先キュー名アップロード更新ジョブ実行時、このジョブメッセージを送信するキュー名を指定する。標準は空白とする。空白時は wagbyUploadUpdateJobQueue が設定される。(*1)
接頭辞にrabbitmq:またはactivemq:と指定することで、Apache Active MQ Artemis と Rabbit MQ の両方を利用する設定を行った場合に、任意のメッセージングミドルウェアへ送信することができる。この指定がない場合は、デフォルトの接続先に送信される。

実行

メッセージングミドルウェアが起動していることを確認後、Wagby アプリケーションを起動してください。

アップロード更新画面で「更新用ファイルを送信」ボタンを押下すると、アップロード更新処理のジョブがキューに登録されます。

図2 ジョブ登録完了

その後、キューに格納された順にジョブが実行されます。

ジョブが登録されると、状態は "待機" となります。ジョブの実行が開始されると、状態は "実行中" となります。

「全体数」は作成されるデータの件数の総数です。「進捗」は現在の処理件数を表します。登録数、更新数、削除数、失敗数は、それぞれの件数を表します。

アップロード更新結果の確認

ジョブの実行が完了すると、状態が "終了" となります。 このジョブに対応する行をマウスでクリックすることで、作成された処理結果ファイルのダウンロードを確認するダイアログが開きます。 このダイアログでOkを押すと処理結果ファイルをダウンロードできます。

メッセージングミドルウェアが起動していなかった場合

メッセージングミドルウェアが起動していないと、次のようなエラーがログファイル(system.log)に出力されます。

[ERROR org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer redeclareElementsIfNecessary] Failed to check/redeclare auto-delete queue(s). org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

仕様・制約

  • 複数のファイルを zip 圧縮して送信することで、一度のCSVアップロード更新で複数のCSVファイルを扱うことができます。
  • あるユーザーがCSVアップロード更新を実行中に、追加でCSVアップロードの処理を行うことはできますが、処理はひとつずつ(キューに入った順番に)行われます。複数の更新が並列処理されることはありません。
  • ジョブ状態が"実行中"のものを、削除以外で中断させることはできません。