Improve repository usage

This commit is contained in:
Philipp Holzer 2021-11-01 13:54:18 +01:00
parent 7c6554451e
commit c2b5eb2838
Signed by: nupplaPhil
GPG key ID: 24A7501396EB5432
3 changed files with 8 additions and 12 deletions

View file

@ -81,7 +81,7 @@ if ($spawn) {
$run_cron = !array_key_exists('n', $options) && !array_key_exists('no_cron', $options);
$process = DI::process()->create(getmypid());
$process = DI::process()->create(getmypid(), basename(__FILE__));
Worker::processQueue($run_cron, $process);

View file

@ -1183,7 +1183,7 @@ class Worker
DBA::connect();
DI::flushLogger();
$process = DI::process()->create(getmypid());
$process = DI::process()->create(getmypid(), basename(__FILE__));
$cycles = 0;
while (!self::IPCJobsExists($process->pid) && (++$cycles < 100)) {

View file

@ -48,10 +48,11 @@ class Process extends BaseRepository
* Starts and Returns the process for a given PID
*
* @param int $pid
* @param string $command
*
* @return Entity\Process
*/
public function create(int $pid): Entity\Process
public function create(int $pid, string $command): Entity\Process
{
// Cleanup inactive process
$this->deleteInactive();
@ -59,11 +60,6 @@ class Process extends BaseRepository
try {
$this->db->transaction();
$trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
$last = $trace[count($trace) - 1];
$command = strtolower(basename($last['file']));
$newProcess = $this->factory->create($pid, $command);
if (!$this->db->exists('process', ['pid' => $pid])) {
@ -114,10 +110,10 @@ class Process extends BaseRepository
}
}
$this->db->close($processes);
} catch (\Exception $exception) {
throw new ProcessPersistenceException('Cannot delete inactive process', $exception);
} finally {
$this->db->commit();
} catch (\Exception $exception) {
$this->db->rollback();
throw new ProcessPersistenceException('Cannot delete inactive process', $exception);
}
}