a-blog cms PHP API Reference

ProgressRegistry
in package

FinalYes

バックグラウンド処理の進捗の読み出し口の登録簿

処理の種類(進捗表示の type)ごとに進捗の読み出し方を持ち、ACMS_POST_Logger_ProgressJson が これを引いて進捗を返す。管理画面の進捗表示(@ablogcms/background-process の BackgroundProcess)は type を送ってポーリングするだけなので、拡張アプリは独自のバックグラウンド処理の進捗ログをここへ 登録すれば同じ進捗表示を使える。登録は ServiceProvider::init() で Application::make('background-task.progress') に対して行う。中止もできるようにするには background-task.registry(TaskRegistry)にも同じ type で登録する。

Table of Contents

Properties

$readers  : array<string, callable(Field): Array>

Methods

has()  : bool
read()  : array<string, mixed>|null
進捗を返す。未登録・進捗が無い・読み出しに失敗した場合は null
readLogFile()  : array<string, mixed>|null
進捗ログのファイルを読む。無い・壊れている場合は null
register()  : void
registerLogFile()  : void
進捗ログのファイル(Acms\Services\Common\Logger が書き出す JSON 等)を読む読み出し方を登録する

Properties

Methods

has()

public has(string $type) : bool
Parameters
$type : string
Return values
bool

read()

進捗を返す。未登録・進捗が無い・読み出しに失敗した場合は null

public read(string $type, Field $request) : array<string, mixed>|null

読み出しの失敗で例外を投げると、進捗表示のポーリングがエラーで止まって画面から状況が分からなくなるため、 例外は null として扱う(書き込み中のファイルを読んだ等の一時的な失敗は次のポーリングで回復する)。

Parameters
$type : string
$request : Field
Return values
array<string, mixed>|null

readLogFile()

進捗ログのファイルを読む。無い・壊れている場合は null

public static readLogFile(string $path) : array<string, mixed>|null

進捗ログの置き場所がリクエストの値で変わる処理(ブログごとに持つ等)の読み出し方から使う。

Parameters
$path : string
Return values
array<string, mixed>|null

register()

public register(string $type, callable(Field): Array $reader) : void
Parameters
$type : string

処理の種類

$reader : callable(Field): Array

進捗を返す。受け取るのは進捗を取りに来たリクエストの値。 進捗が無ければ null を返す

registerLogFile()

進捗ログのファイル(Acms\Services\Common\Logger が書き出す JSON 等)を読む読み出し方を登録する

public registerLogFile(string $type, string $path) : void
Parameters
$type : string

処理の種類

$path : string

進捗ログのファイルのパス


        
On this page

Search results