mirror of
https://github.com/friendica/friendica
synced 2025-04-22 00:30:10 +00:00
Move process functions to Model\Process
- Add start|endProcess functions to Core\Worker
This commit is contained in:
parent
b699637ab7
commit
78ac7afe9c
5 changed files with 104 additions and 56 deletions
68
src/Model/Process.php
Normal file
68
src/Model/Process.php
Normal file
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/**
|
||||
* @file src/Model/Process.php
|
||||
*/
|
||||
namespace Friendica\Model;
|
||||
|
||||
use Friendica\BaseObject;
|
||||
use dba;
|
||||
|
||||
require_once 'include/dba.php';
|
||||
|
||||
/**
|
||||
* @brief functions for interacting with a process
|
||||
*/
|
||||
class Process extends BaseObject
|
||||
{
|
||||
/**
|
||||
* Insert a new process row. If the pid parameter is omitted, we use the current pid
|
||||
*
|
||||
* @param string $command
|
||||
* @param string $pid
|
||||
* @return bool
|
||||
*/
|
||||
public static function insert($command, $pid = null)
|
||||
{
|
||||
dba::transaction();
|
||||
|
||||
if (!dba::exists('process', ['pid' => getmypid()])) {
|
||||
$return = dba::insert('process', ['pid' => $pid, 'command' => $command, 'created' => datetime_convert()]);
|
||||
}
|
||||
|
||||
dba::commit();
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a process row by pid. If the pid parameter is omitted, we use the current pid
|
||||
*
|
||||
* @param string $pid
|
||||
* @return bool
|
||||
*/
|
||||
public static function deleteByPid($pid = null)
|
||||
{
|
||||
if ($pid === null) {
|
||||
$pid = getmypid();
|
||||
}
|
||||
|
||||
return dba::delete('process', ['pid' => $pid]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean the process table of inactive physical processes
|
||||
*/
|
||||
public static function deleteInactive()
|
||||
{
|
||||
dba::transaction();
|
||||
|
||||
$processes = dba::select('process', ['pid']);
|
||||
while($process = dba::fetch($processes)) {
|
||||
if (!posix_kill($process['pid'], 0)) {
|
||||
self::deleteByPid($process['pid']);
|
||||
}
|
||||
}
|
||||
|
||||
dba::commit();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue