feat(parallel): Adds support for plugins to filter parallel arguments

This commit is contained in:
Luke Downing
2023-03-22 11:25:33 +00:00
parent 1915ad368a
commit 0539d2ba62

View File

@ -60,6 +60,9 @@ final class Parallel implements HandlesArguments
return ((int) $argvValue) === 1; return ((int) $argvValue) === 1;
} }
/**
* Sets a global value that can be accessed by the parent process and all workers.
*/
public static function setGlobal(string $key, string|int|bool|Stringable $value): void public static function setGlobal(string $key, string|int|bool|Stringable $value): void
{ {
$data = ['value' => $value instanceof Stringable ? $value->__toString() : $value]; $data = ['value' => $value instanceof Stringable ? $value->__toString() : $value];
@ -67,6 +70,9 @@ final class Parallel implements HandlesArguments
$_ENV[self::GLOBAL_PREFIX.$key] = json_encode($data); $_ENV[self::GLOBAL_PREFIX.$key] = json_encode($data);
} }
/**
* Returns the given global value if one has been set.
*/
public static function getGlobal(string $key): string|int|bool|null public static function getGlobal(string $key): string|int|bool|null
{ {
$placesToCheck = [$_SERVER, $_ENV]; $placesToCheck = [$_SERVER, $_ENV];