diff --git a/src/SwarmProcess.php b/src/SwarmProcess.php index 808442d..d001ee0 100644 --- a/src/SwarmProcess.php +++ b/src/SwarmProcess.php @@ -41,7 +41,20 @@ public function run(callable $moreWorkToAddCallable = null, callable $shouldCont } } - } while ($this->tick() || (is_callable($shouldContinueRunningCallable) ? call_user_func($shouldContinueRunningCallable) : false)); + } while ($this->tick() && (is_callable($shouldContinueRunningCallable) ? call_user_func($shouldContinueRunningCallable) : true)); + + + /** + * @var Process $runningProcess + */ + foreach ($this->currentRunningStack as $runningProcessKey => $runningProcess) { + if ($runningProcess->isRunning()) { + $runningProcess->stop(); + // do nothing, just log as checkTimeout() internally stops the process + $logMessage = '- Killed Process ' . $runningProcessKey . ' from currentRunningStack.'; + $this->logger->warning($logMessage); + } + } } /**