CSV・Excelアップロード更新を非同期に実行することができます。

メッセージングミドルウェア Rabbit MQ が起動している必要があります。Rabbit MQ は Wagby に同梱されていません。別途インストールを行ってください。

メッセージキューの設定

"環境 > アプリケーション > メッセージキュー" の設定を行います。"ダウンロード" の説明を参考に行ってください。

キュー名の未指定時(空白設定)は、標準ではアップロード更新用に "wagbyUploadUpdateJobQueue" という名前のキューが用意されます。

アップロード更新画面の設定

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

図1 アップロード更新の設定
設定欄説明
アップロード更新画面"画面を作成する" を有効にする。
アップロード更新ジョブ"アップロード更新ジョブを作成する" を有効にする。
"アップロード更新画面でメッセージジョブ機能を使用する" を有効にする。
アップロード更新ジョブ > 送信先キュー名アップロード更新ジョブ実行時、このジョブメッセージを送信する (Rabbit MQ の)キュー名を指定する。標準は空白とする。空白時は wagbyUploadUpdateJobQueue が設定される。

Rabbit MQ が起動していることを確認後、Wagby アプリケーションを起動してください。

ダウンロード画面でダウンロードボタンを押下すると、ダウンロード処理のジョブが(Rabbit MQ のキューに)登録されます。

図2 ジョブ登録完了

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

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

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

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

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

Rabbit MQ が起動していなかった場合

RabbitMQが起動していないと、次のようなエラーがログファイル(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
Wagby Developer Day 2018