diff --git a/src/Core/System.php b/src/Core/System.php index 95a411f3d1..31a76058ae 100644 --- a/src/Core/System.php +++ b/src/Core/System.php @@ -164,9 +164,10 @@ class System * Executes a child process with 'proc_open' * * @param string $command The command to execute - * @param array $args Arguments to pass to the command ( [ 'key' => value, 'key2' => value2, ... ] + * @param array $args Arguments to pass to the command ( ['arg1', 'arg2', ... ] ) + * @param array $options Options to pass to the command ( [ 'key' => value, 'key2' => value2, ... ] */ - public function run(string $command, array $args) + public function run(string $command, array $args = [], array $options = []) { if (!function_exists('proc_open')) { $this->logger->warning('"proc_open" not available - quitting'); @@ -175,7 +176,11 @@ class System $cmdline = $this->config->get('config', 'php_path', 'php') . ' ' . escapeshellarg($command); - foreach ($args as $key => $value) { + foreach ($args as $argumment) { + $cmdline .= ' ' . $argumment; + } + + foreach ($options as $key => $value) { if (!is_null($value) && is_bool($value) && !$value) { continue; } diff --git a/src/Core/Worker.php b/src/Core/Worker.php index 533da588c4..386f3e0f11 100644 --- a/src/Core/Worker.php +++ b/src/Core/Worker.php @@ -1207,7 +1207,7 @@ class Worker if (Worker\Daemon::isMode() && DI::config()->get('system', 'worker_fork')) { self::forkProcess($do_cron); } else { - DI::system()->run('bin/console.php worker', ['no_cron' => !$do_cron]); + DI::system()->run('bin/console.php', ['worker'], ['no_cron' => !$do_cron]); } if (Worker\Daemon::isMode()) { Worker\IPC::SetJobState(false); diff --git a/src/Core/Worker/Daemon.php b/src/Core/Worker/Daemon.php index 8cffd98854..ee5f7a98ae 100644 --- a/src/Core/Worker/Daemon.php +++ b/src/Core/Worker/Daemon.php @@ -115,7 +115,7 @@ class Daemon private static function spawn() { Logger::notice('Starting new daemon process'); - DI::system()->run('bin/console.php daemon', ['start']); + DI::system()->run('bin/console.php', ['start']); Logger::notice('New daemon process started'); } }