バックグラウンドタスク
メインウィンドウを閉じても実行し続けるcronおよびインターバルタスクをスケジュールします。
バックグラウンドタスクスケジューラは、cron式または固定インターバルでジョブを実行します。メインのDockermanウィンドウを閉じても動作し続けます。これはstats集計、保持期間クリーンアップ、イメージアップグレードチェックのエンジンです。
仕組み
スケジューラはシステムトレイを使用して存続します。メインウィンドウを閉じると、Dockermanはトレイに移動しタスクは実行し続けます。トレイアイコンを終了するとすべてのバックグラウンドタスクが停止し、Dockermanは終了前にそのことを通知します。
組み込みタスク種別
Dockermanには以下のタスク種別が同梱されています。それぞれが事前に登録されており、タスクページから有効化または設定できます。
| 種別 | 目的 | デフォルトスケジュール |
|---|---|---|
stats_aggregation | 生の5秒間statsサンプルを5分間の集計にロールアップ | 30分ごと |
stats_retention_prune | 期限切れの生サンプル(1時間以上前)と期限切れの集計(7日以上前)を削除 | 60分ごと |
image_upgrade_check | 購読したイメージのレジストリ上での新しいバージョンを確認 | 6時間ごと |
追加の種別としてauto_backupとauto_pruneは将来のリリースで予定されています。
タスクページ
タスクページを開くと、登録されたすべてのタスクを実行スナップショットと組み込み管理 UI とともに一目で確認できます。
各行には以下が表示されます:
- 種別と人間が読める説明
- スケジュール(cron式またはインターバル)
- 次回実行までのカウントダウン
- 最終実行時刻と結果(成功、失敗時はエラーメッセージ)
- 有効トグル
組み込みタスクとユーザータスク
組み込みタスク(stats_aggregation、stats_retention_prune、image_upgrade_check)は削除がロックされており、それらに依存する機能が動作し続けます。スケジュールの変更、有効化/無効化、即時実行のトリガーは引き続き可能です。ユーザーが作成したタスクは削除と編集のフルアクセスを持ちます。
タスクの管理
スケジュールの変更
任意のタスクの行からスケジュールを編集できます。cron式(例:0 */2 * * *で2時間ごと)または秒単位の固定インターバルを設定できます。
有効化または無効化
タスクをオンまたはオフに切り替えます。無効化されたタスクはリストに残りますが、再有効化されるまで実行されません。
今すぐ実行
今すぐ実行をクリックすると、スケジュールに関係なくタスクを即座にトリガーします。実行はスケジュールされた実行と同様にタスク履歴に表示されます。
履歴の表示
タスク行を展開すると、開始時刻、所要時間、ステータス、エラーメッセージを含む最近の実行履歴が表示されます。
データストレージ
タスク定義と実行履歴はローカルのSQLiteデータベースに保存されます。
| テーブル | 内容 |
|---|---|
tasks | タスクID、種別、スケジュール、有効フラグ、設定、作成時刻 |
task_runs | 実行ID、親タスク、開始および終了タイムスタンプ、ステータス、エラーメッセージ |
ヒント
スケジューラは、Dockermanがシステムトレイにあるかメインウィンドウが開いている間のみ実行されます。フルアプリ終了後もタスクを存続させる必要がある場合、システムサービスモードは将来のリリースで予定されています。
- 新規インストール後はタスクページを確認し、
stats_aggregationとstats_retention_pruneが有効になっていることを確認してください。デフォルトでオンになっています。 - ディスク使用量が増加する場合は、保持期間クリーンアップのインターバルを短縮するか、設定で保持期間ウィンドウを短くしてください。
image_upgrade_checkタスクは、最初のイメージアップグレード監視を追加すると自動的に作成されます。