Symbiote\QueuedJobs\Services\ProcessManager
Class ProcessManager
customise shell command to allow child tasks to persist even after manager process is terminated
this lets the started jobs to finish properly in case the management process terminates
fore example there are no more jobs to start or queue is paused
Synopsis
class ProcessManager
extends ProcessManager
{
- // members
- private static bool $persistent_child_process = true;
- // methods
- protected string getCommand()
- public void __destruct()
Hierarchy
Extends
- AsyncPHP\Doorman\Manager\ProcessManager
Uses
- SilverStripe\Core\Config\Configurable
Members
private
- $persistent_child_process
—
Symbiote\QueuedJobs\Services\bool
Enable / disable persistent child process If this is enabled the child processes can outlive the parent (manager process) This is what is needed for most cases as the manager process only starts new child processes Child processes on the other hand, actually execute queued jobs so they may take longer to execute Disabling this may cause the child processes to terminate prematurely which may result it multiple job execution retries / resumes Disable this option only if you are debugging a situation when a child process keeps hanging around for way too long (hours) Adding execution timeout to individual queued jobs is recommended to avoid such situation