genvid.toolbox.LocalServiceInstaller

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

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

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

サービスの設定は GENVID_SDK_FOLDER/local-services/<name> 以下に config ディレクトリと data ディレクトリを作成して保存される。サービスはバックグラウンドプロセスとして起動し、その出力は <name>.stdout.log<name>.stderr.log にリダイレクトされる。サービスは <name>.pid の下にプロセス ID を保存する。

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.Optional[int] = None)

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

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

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

start()

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

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

stop()

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

status(withlog=False, lines=None)

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

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