メインコンテンツまでスキップ

バックグラウンド処理とは?

はじめに​

サポートのご回答や展開する記事でよく 『バックグラウンド処理』 という言葉が出てきますが、
ここではこのバックグランド処理をご紹介します。

バックグラウンド処理とは​

TimeTrackerはクライアントPCやWebAPIでユーザーから要求を受けますが、
要求をすべて実行するのに時間がかかる場合、以下の2つに分けて実行します。

  • すぐできる処理はすぐに実行する:フォアグラウンド処理
  • 時間がかかる処理は後から少しずつ実行する:バックグラウンド処理

例えば、タイムシートで実績工数を入力した場合、(ざっくり言うと)以下の処理を実行します。

  1. タイムシートで実績工数を表示し、クイックレポートに反映する。
  2. ワークアイテム画面の実績工数に反映する。
  3. ワークアイテム画面で、親の工数に集計結果を反映する
    (階層が深い場合、計算に時間がかかります。)
  4. リソース負荷/ピボット分析/ダッシュボードなどの分析データを集計する。

上記の場合、バックグラウンド処理は2以降を実施します。
時計マークでユーザーがイライラしないようにするための一つのテクニックですね。

注意点​

  1. バックグラウンド処理が完了する前に TimeTracker を停止してしまうと、
    処理が中断することになりますので、データ間で不整合が起こることがあります。
    例)上記の4を実行中に停止した場合はピボット分析のデータ作成が完了していないため、
    ピボット分析とワークアイテム画面の合計工数が異なる可能性があります。
    そのため、TimeTrackerを停止する時は、必ず以下のページの手順で

    メンテナンスモード(※)に移行してください。

    システムを安全に停止する

    ※ユーザーからの処理を受け付けるとバックグラウンド処理が発生するため、
    いつまでたっても停止できません。
    そこで、ユーザーからの処理を受け付けない状態にすることで、
    残っているバックグラウンド処理を実施し、安全に停止できる状態にします。

  2. ユーザー操作がなくてもバックグラウンド処理が発生することもあります。
    そのため、ユーザーがいない時間でもメンテナンスモード経由でTimeTracker を
    停止してください。

データの整合が取れていない場合の復旧処理​

不測の事態(サーバートラブルや突然の電源瞬断など)によりサーバーPCがダウンした場合でも、
上記のように、データ間で不整合が起こるかもしれません。
ワークアイテム画面の実績とピボット分析の結果が合っていない場合、
対象のワークアイテムの実績を変更してみてください。
バックグラウンド処理が始まり、不整合が解消する可能性があります。

なお、実行を待っているバックグラウンド処理に関するデータは『Redis』と呼ばれるアプリが
確保したRAM領域に格納されています。
電源が落ちた後でもデータは残るので、そのまま処理を継続できます。

バックグラウンド処理の有無を確認する方法​

TimeTracker の管理画面で以下のページで説明する方法で、バックグラウンド処理を
実施している画面を確認できます。
ヘルプ:システムを安全に停止する

遷移方法:

バックグラウンド処理とは?の画像 1

上記ボタンをクリックすると、以下の画面に遷移します。

バックグラウンド処理とは?の画像 2

実行待ちのバックグラウンド処理がない場合は、すべての計算が終わっていることになります。