Fixup command argument

This commit is contained in:
Philipp 2021-10-31 14:31:02 +01:00
parent 38f70cc55a
commit 7637ae1dcc
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
4 changed files with 29 additions and 22 deletions

View file

@ -59,11 +59,16 @@ class Process extends BaseRepository
try {
$this->db->transaction();
$newProcess = $this->factory->create($pid);
$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])) {
if (!$this->db->insert(static::$table_name, [
'pid' => $newProcess->pid,
'pid' => $newProcess->pid,
'command' => $newProcess->command,
'created' => $newProcess->created->format(DateTimeFormat::MYSQL)
])) {
@ -115,4 +120,22 @@ class Process extends BaseRepository
$this->db->commit();
}
}
/**
* Returns the number of processes with a given command
*
* @param string $command
*
* @return int Number of processes
*
* @throws ProcessPersistenceException
*/
public function countCommand(string $command): int
{
try {
return $this->count(['command' => strtolower($command)]);
} catch (\Exception $exception) {
throw new ProcessPersistenceException('Cannot count ', $exception);
}
}
}