Files
newznab-tmux/misc/update/tmux/start.php
T
2018-09-04 23:52:06 +02:00

33 lines
1.0 KiB
PHP

<?php
/**
* This file makes the tmux monitoring script activate the processing cycle.
* It does so by changing the running setting in the database, so that the monitor script knows to
* (re)start applicable scripts.
*
* It will start the tmux server and monitoring scripts if needed.
*/
require_once dirname(__DIR__, 3).DIRECTORY_SEPARATOR.'bootstrap/autoload.php';
use Blacklight\Tmux;
use App\Models\Settings;
use Blacklight\ColorCLI;
$tmux = new Tmux();
$tmux_session = Settings::settingValue('site.tmux.tmux_session') ?? 0;
$path = __DIR__;
// Set running value to on.
$tmux->startRunning();
// Create a placeholder session so tmux commands do not throw server not found errors.
exec('tmux new-session -ds placeholder 2>/dev/null');
//check if session exists
$session = shell_exec("tmux list-session | grep $tmux_session");
// Kill the placeholder
exec('tmux kill-session -t placeholder');
if ($session === null) {
echo ColorCLI::info("Starting the tmux server and monitor script.\n");
passthru("php $path/run.php");
}