<?php
/**
- * @file src/Model/Process.php
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
*/
+
namespace Friendica\Model;
-use Friendica\BaseObject;
+use Friendica\Database\DBA;
use Friendica\Util\DateTimeFormat;
-use dba;
-
-require_once 'include/dba.php';
-require_once 'include/datetime.php';
/**
- * @brief functions for interacting with a process
+ * functions for interacting with a process
*/
-class Process extends BaseObject
+class Process
{
/**
* Insert a new process row. If the pid parameter is omitted, we use the current pid
* @param string $command
* @param string $pid
* @return bool
+ * @throws \Exception
*/
public static function insert($command, $pid = null)
{
$pid = getmypid();
}
- dba::transaction();
+ DBA::transaction();
- if (!dba::exists('process', ['pid' => $pid])) {
- $return = dba::insert('process', ['pid' => $pid, 'command' => $command, 'created' => DateTimeFormat::utcNow()]);
+ if (!DBA::exists('process', ['pid' => $pid])) {
+ $return = DBA::insert('process', ['pid' => $pid, 'command' => $command, 'created' => DateTimeFormat::utcNow()]);
}
- dba::commit();
+ DBA::commit();
return $return;
}
*
* @param string $pid
* @return bool
+ * @throws \Exception
*/
public static function deleteByPid($pid = null)
{
$pid = getmypid();
}
- return dba::delete('process', ['pid' => $pid]);
+ return DBA::delete('process', ['pid' => $pid]);
}
/**
*/
public static function deleteInactive()
{
- dba::transaction();
+ DBA::transaction();
- $processes = dba::select('process', ['pid']);
- while($process = dba::fetch($processes)) {
+ $processes = DBA::select('process', ['pid']);
+ while($process = DBA::fetch($processes)) {
if (!posix_kill($process['pid'], 0)) {
self::deleteByPid($process['pid']);
}
}
-
- dba::commit();
+ DBA::close($processes);
+ DBA::commit();
}
}