Fix PID at forking
authorPhilipp <admin@philipp.info>
Sun, 31 Oct 2021 19:23:23 +0000 (20:23 +0100)
committerPhilipp <admin@philipp.info>
Fri, 5 Nov 2021 19:52:31 +0000 (20:52 +0100)
src/Core/Worker.php

index faa29717c145b05ae521d25bff671672524ffe63..a4f14a48c48ee4bef9da96a262ecc17150528441 100644 (file)
@@ -1183,22 +1183,22 @@ class Worker
                DBA::connect();
 
                DI::flushLogger();
-               $process = DI::process()->create($pid);
+               $process = DI::process()->create(getmypid());
 
                $cycles = 0;
-               while (!self::IPCJobsExists($pid) && (++$cycles < 100)) {
+               while (!self::IPCJobsExists($process->pid) && (++$cycles < 100)) {
                        usleep(10000);
                }
 
-               Logger::info('Worker spawned', ['pid' => $pid, 'wait_cycles' => $cycles]);
+               Logger::info('Worker spawned', ['pid' => $process->pid, 'wait_cycles' => $cycles]);
 
                self::processQueue($do_cron, $process);
 
                self::unclaimProcess($process);
 
-               self::IPCSetJobState(false, $pid);
+               self::IPCSetJobState(false, $process->pid);
                DI::process()->delete($process);
-               Logger::info('Worker ended', ['pid' => $pid]);
+               Logger::info('Worker ended', ['pid' => $process->pid]);
                exit();
        }