genvid.toolbox.LocalServiceInstaller
- class genvid.toolbox.LocalService(services_dir=None, **kwargs)
ベースクラス:
ServiceTool
この class は、バックグラウンドプロセスとしてローカルで実行するサービスをラップします。
サービスの設定は
services_dir/name
の下にconfig
ディレクトリとdata
ディレクトリを作成して保存されます。サービスはバックグラウンドプロセスとして起動し、その出力はname.stdout.log
とname.stderr.log
にリダイレクトされます。サービスはプロセスIDをname.pid
の下に保存する。service_dir
のデフォルト値は~/.genvid
です。バージョン 1.39.0 で変更:
service_dir
のデフォルト値を~/.genvid
に変更します。- basedir
サービスをインストールするベースディレクトリ。
- configdir
サービスの構成ディレクトリ。
- datadir
サービスのデータディレクトリ。
- logdir
サービスのログディレクトリ。
- backupdir
サービスのバックアップディレクトリ。
- CONFIG_FILE
サービスの構成ファイル。
- pidfile
サービスインスタンスの PID ファイル。
- logout
サービスの Standard Output ログファイル。
- options
サービスの Options ファイル。
このファイルは、install コマンドに渡されたオプションのリストを保持する。
- is_installed()
サービスがインストールされているかどうかを返す。
- install(reconfigure=False, **options)
インストールされていない場合、サービスをインストールする。
サービス構成をチェックするが、サービスは開始しない。
- get_process()
サービスの psutil.Process を返します。見つからない場合には、None を返します。
pidfile から PID を読み込みます。プロセスが正しいものかどうかはチェックしないため、PID ラップアラウンドの場合、間違って認識される場合があります。
- is_running()
サービスが実行されているかどうかをチェックする。
pidfile で識別したプロセスのステータスをチェックする。
- print_log(lines: Optional[int] = None)
このサービスのログファイルを出力する。
バージョン 1.27.0 で変更: logerr と logout の両方が同じフォルダに書き込まれるようになったため、stdout のブールフラグを削除しました。
ラインの値は、最後からのライン数、または None。
- start()
開始していない場合、サービスを開始する。
バージョン 1.29.0 で変更: 同じサービスの他の実行中のインスタンスに対するチェックを追加します。
- stop()
実行中のサービスがあれば、停止する。
- status(withlog=False, lines=None)
サービスのステータスを返す。
PID ファイルで識別したプロセスのステータスをチェックする。