genvid.toolbox.LocalServiceInstaller

class genvid.toolbox.LocalService(services_dir='local-services', **kwargs)

ベースクラス: genvid.toolbox.service.ServiceTool

この class は、バックグラウンドプロセスとしてローカルで実行するサービスをラップします。

サービスの構成は、ROOTDIR/local-services/<name> 以下の config ディレクトリと data ディレクトリに格納されます。サービスはバックグラウンドプロセスとして開始され、出力は、<name>.stdout.log<name>.stderr.log にリダイレクトされます。プロセス ID は、<name>.pid に保存されます。

basedir = None

サービスをインストールするベースディレクトリ。

configdir = None

サービスの構成ディレクトリ。

datadir = None

サービスのデータディレクトリ。

logdir = None

サービスのログディレクトリ。

backupdir = None

サービスのバックアップディレクトリ。

CONFIG_FILE = None

サービスの構成ファイル。

pidfile = None

サービスインスタンスの PID ファイル。

logout = None

サービスの Standard Output ログファイル。

options = None

サービスの Options ファイル。

このファイルは、install コマンドに渡されたオプションのリストを保持する。

is_installed()

サービスがインストールされているかどうかを返す。

install(reconfigure=False, **options)

インストールされていない場合、サービスをインストールする。

サービス構成をチェックするが、サービスは開始しない。

uninstall(clean: bool = False)

サービスをアンインストールする。

get_process()

サービスの psutil.Process を返します。見つからない場合には、None を返します。

pidfile から PID を読み込みます。プロセスが正しいものかどうかはチェックしないため、PID ラップアラウンドの場合、間違って認識される場合があります。

is_running()

サービスが実行されているかどうかをチェックする。

pidfile で識別したプロセスのステータスをチェックする。

print_log(lines: typing.Union[int, NoneType] = None)

このサービスのログファイルを出力する。

バージョン 1.27.0 で変更: logerr と logout の両方が同じフォルダに書き込まれるようになったため、stdout のブールフラグを削除しました。

ラインの値は、最後からのライン数、または None。

start()

開始していない場合、サービスを開始する。

バージョン 1.29.0 で変更: 同じサービスの他の実行中のインスタンスに対するチェックを追加します。

stop()

実行中のサービスがあれば、停止する。

status(withlog=False, lines=None)

サービスのステータスを返す。

PID ファイルで識別したプロセスのステータスをチェックする。