helper.status module

システムの状態を管理するための Status クラスを提供します

  • Status クラスは、状態を表す値オブジェクトであり、現在の状態を status.json ファイルに保存し、読み込めます

  • 状態は StatusValue 列挙型で定義され、RUNNING、STOP、PENDING、ERROR のいずれかの値を取ります

  • Status クラスは、状態の確認、設定、ファイルへの保存、ファイルからの読み込みを行うためのメソッドを提供します

  • さらに、終了状態かどうかを判断する is_terminal() メソッドを StatusValue に追加しました

  • Status クラスの is_stop() メソッドは is_terminal() を利用するため、ステータス値の追加や変更に柔軟に対応できます

class helper.status.Status(json_path: ~pathlib._local.Path = <factory>, _status: ~helper.status.StatusValue = StatusValue.PENDING, KEY_NAME: str = 'status')[ソース]

ベースクラス: object

システムの状態を表すValue Object

status.jsonファイルからステータスを読み込み、保持する ファイルが存在しない場合は、デフォルトでPENDING状態となる

json_path

ステータスを保存するJSONファイルのパス

Type:

pathlib._local.Path

_status

システムの現在のステータス

Type:

helper.status.StatusValue

例外:

ValueError -- status.jsonファイルの形式が不正な場合

KEY_NAME: str = 'status'
is_running() bool[ソース]

システムが実行中かどうかを返す

戻り値:

実行中の場合、False: それ以外の場合

戻り値の型:

True

is_stop() bool[ソース]

システムが停止状態かどうかを返す

戻り値:

停止状態の場合、False: それ以外の場合

戻り値の型:

True

json_path: Path
save_to_json()[ソース]

現在のステータスをstatus.jsonファイルに保存する

例外:

OSError -- ファイルの保存に失敗した場合

class helper.status.StatusValue(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]

ベースクラス: Enum

システムのステータス値を表す列挙型

RUNNING

実行中

STOP

停止

PENDING

保留中

ERROR

エラー

ERROR = 'error'
PENDING = 'pending'
RUNNING = 'running'
STOP = 'stop'
is_terminal() bool[ソース]

ステータスが終了状態かどうかを返す

戻り値:

終了状態 (STOP または ERROR) の場合、False: それ以外の場合

戻り値の型:

True