インポート

最終更新日: 2022年6月20日

利用方法

Wagby が備えているインポート機能を定期的に実行することができます。

ジョブの設定

設定方法

  1. 管理者権限をもったアカウントでログオンします。
  2. 管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
  3. 「登録画面へ」ボタンを押下し、ジョブスケジュールの新規登録処理を行います。
  4. ジョブ名から「RegularImport」を選択します。その下の説明欄に「インポート」と表示されます。
    コマンドを指定
  5. ジョブパラメータの「追加」ボタンを押し、キーと値を指定します。
    キーと値の記述方法については、指定できるジョブパラメータをお読みください。
  6. ジョブの実行スケジュールを指定します。
  7. 「有効」にチェックを入れます。これにより、このジョブが有効になります。
    ジョブを有効にする
  8. このジョブを実行する管理者のアカウントおよびパスワードを入力します。
    セキュリティの観点から、エクスポートジョブは管理者(admin)のみ実行できるようになっています。
    実行アカウントとパスワードを入力
  9. 「保存」ボタンを押してジョブスケジュールを登録します。指定した時間になると、コマンドが実行されます。
    ジョブスケジュールの登録が完了した

このジョブの特徴

このジョブを実行中は自動的に「メンテナンスモード」になります。この間、他の利用者はログオンすることができません。(メンテナンスモードに切り替えないオプションも用意されています。)

指定できるジョブパラメータ

インポートフォルダの指定方法

ジョブパラメータ dir を指定します。起点フォルダは export となります。

最新のエクスポートフォルダを自動的に利用する

ジョブパラメータ dir を未指定にすると export フォルダ内にある、もっとも新しい日付の data_XXX フォルダがインポートの対象となります。ただし data_init と data_build フォルダは対象外になります。該当するフォルダが存在しない場合、インポート処理は行われません。

また、一度インポート処理が行われたフォルダは、次回以降スキップされます。これは同じフォルダを二重にインポートする事故を防ぐための処置です。(ジョブによるインポートが行われたフォルダには ".autoimport" というファイルが用意されます。これがマーカーとなります。)

インポート対象としないモデルの指定

ジョブによるインポートの対象としないモデルは、ジョブパラメータ exclude を用いてモデル名を指定してください。

例えば、ジョブスケジュール(jfcjobschedule)モデルをインポートすると、ジョブ名がRegularImportのジョブスケジュールが消去されてしまうといった運用ミスが想定されます。この場合、ジョブパラメータ exclude に jfcjobschedule を指定することでトラブルを回避できます。

ジョブパラメータ一覧

ジョブに指定するパラメータを複数、指定することができます。
ここで指定できるパラメータ(キーと値)は次の通りです。

キー(パラメータ名) 必須 説明 値の記述例
dir インポート対象となるフォルダ名を指定します。起点は export となります。このパラメータを指定しない場合は、export フォルダ内に存在する、最も新しい日付のフォルダ(かつ、まだジョブによるインポート処理が行われていないフォルダ)が選択されます。圧縮ファイルの場合は ".zip" を付与します。 data_20141225000000.zip
target 空白区切りでモデル名(英語)を記述すると、このモデルだけがインポートの対象となります。このパラメータを指定しない場合は、全モデルが対象となります。 customer support
exclude 空白区切りでモデル名(英語)を記述すると、このモデルをインポートの対象から除外します。 staff product
drop 通常、インポート処理はテーブルの削除と再作成処理を伴います。しかしこのオプションをfalseに設定すると、既存のテーブルをそのまま利用します。ただし運用時には別途、既存データを予め SQL の delete 文で削除しておくといった配慮が必要です。この指定を省略時は、true として扱われます。 true
maintenance このジョブを実行する際に、メンテナンスモードに切り替えるかどうかを指定します。省略時は "true"(メンテナンスモードを適用する)となります。 false
maintenanceOption メンテナンスモード切り替え時にログオン済みであったアカウントへの対応方法を指定します。[省略可] logout : ジョブ実行前にログオンしていたアカウントを強制ログアウトさせる。
fail : ジョブ実行前にログオンしているアカウントがいれば、ジョブを失敗させる。
(省略時) : ログオンしているアカウントはそのままに、モードを切り替える。
ジョブの実行結果はログファイル(system.log)に記載されます。
同名のパラメータを複数定義した場合は、最後のパラメータが有効になります。

ジョブの実行を停止する

ジョブを一時的に無効にすることができます。

  1. 管理者権限をもったアカウントでログオンします。
  2. 管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
  3. 該当する「ジョブスケジュール」を検索し、更新画面を開きます。
  4. 「有効」フラグについているチェックをはずし、保存します。
    ジョブを無効にする

実行結果をメールで送信する

ジョブの実行結果をメールで送信することができます。

多重実行の抑制

ジョブの多重実行を行うことはできません。

あるジョブを 1 分毎に起動させるようにした場合、1 分後にこのジョブの実行が終了していなければ、新しいジョブは実行されません。

すぐに実行する

インポート対象データが多い場合、「インポートエクスポート」画面からの操作では処理が正常に完了する前にWebブラウザがタイムアウトすることがあります。この対応のために、インポートジョブの即時実行機能を使う方法を説明します。

エクスポートファイルの確認

「外部コマンド実行」機能を使って、エクスポートフォルダの内容を事前に確認します。

  1. 実行するコマンドを cmd /C "dir ..\..\export" とします。(Windows OS の場合)
  2. 実行結果をメールで送信するように設定します。
  3. 外部コマンドを即時実行します。指定したメールアドレスに結果が送られます。対象となるエクスポートフォルダ名を確認します。

インポートジョブの即時実行

  1. dirパラメータを指定します。(省略時は最新のエクスポートフォルダを利用します。詳細は「指定できるジョブパラメータ」をお読み下さい)
  2. targetパラメータを指定します。省略時は全モデルを対象とします。
  3. 必要に応じて、その他のパラメータも指定します。
  4. ジョブの結果をメールで送信する機能を指定します。
  5. ジョブ実行アカウントを指定します。ジョブは有効でなくともかまいません。
  6. ジョブの即時実行を行います。インポート処理が終了すると、メールで結果が送られます。

実行対象 8.3.1

オートスケール環境でない場合、常に "1インスタンス" としてください。

オートスケール環境でジョブを運用する場合、"1インスタンス" と "全インスタンス" を選択することができます。[詳細...]

仕様

インポートジョブでは「juser」と「jprincipal」の二つのモデルは常に対象外となります。