FindDriver
class FindDriver extends AbstractDriver
Properties
| protected Channel|null | $stopSignal | from AbstractDriver | |
| protected bool | $stopping | from AbstractDriver | |
| protected bool | $supportsFractionalMinutes | ||
| protected int | $startTime | ||
| protected array | $fileModifyTimes |
Methods
Run a polling scan until the driver is stopped.
Resolve configured watch paths to absolute targets.
Execute a shell command using Swoole's coroutine-aware exec.
Escape a list of arguments for interpolation into a shell command.
Get the scan interval as a find -mmin compatible minutes string.
Find changed files in the given targets using the find command.
Get the find binary name for the current OS.
Scan watched directories and files for changes.
Details
at line 20
__construct(Option $option, StdoutLoggerInterface $logger)
No description
in
AbstractDriver at line 26
bool
isDarwin()
Determine if the current OS is macOS.
in
AbstractDriver at line 34
void
stop()
Stop the active watch lifecycle.
in
AbstractDriver at line 47
protected void
watchAtInterval(float $seconds, callable $scan)
Run a polling scan until the driver is stopped.
in
AbstractDriver at line 80
protected array
resolveTargets(array $watchPaths)
Resolve configured watch paths to absolute targets.
in
AbstractDriver at line 100
protected array
existingTargets(array $targets)
Filter targets that currently exist.
in
AbstractDriver at line 112
protected array
exec(string $command)
Execute a shell command using Swoole's coroutine-aware exec.
Every interpolated argument must be escaped before it reaches this boundary.
in
AbstractDriver at line 128
protected string
shellArguments(array $arguments)
Escape a list of arguments for interpolation into a shell command.
at line 45
void
watch(Channel $channel)
Watch for file changes using the find command.
at line 62
protected string
getScanIntervalMinutes()
Get the scan interval as a find -mmin compatible minutes string.
at line 77
protected array
find(array $fileModifyTimes, array $targets, string $minutes)
Find changed files in the given targets using the find command.
at line 107
protected string
getBin()
Get the find binary name for the current OS.
at line 115
protected array
scan(array $fileModifyTimes, string $minutes)
Scan watched directories and files for changes.