cron fixes.

This commit is contained in:
Pachira 2021-07-28 22:10:57 +00:00
parent 1bd1e2d16a
commit 31ece58d00

View file

@ -1,10 +1,6 @@
<?php
namespace YTKNS;
// Prevent running cron script during maintenance
if(YTKNS_MAINTENANCE)
return;
if(!defined('YTKNS_SEM_NAME'))
define('YTKNS_SEM_NAME', 'b');
if(!defined('YTKNS_SFM_PATH'))
@ -18,33 +14,38 @@ $semaphore = sem_get($ftok, 1);
if(!sem_acquire($semaphore))
die('Failed to acquire semaphore.' . PHP_EOL);
require_once __DIR__ . '/startup.php';
try {
require_once __DIR__ . '/startup.php';
// Destroy old sessions
UserSession::purge();
// Prevent running cron script during maintenance
if(!YTKNS_MAINTENANCE) {
// Destroy old sessions
UserSession::purge();
// Resynchronise use counts
Upload::resync(EFFECT_UPLOADS);
// Resynchronise use counts
Upload::resync(EFFECT_UPLOADS);
// Destroy orphaned uploads
Upload::purgeOrphans();
// Destroy orphaned uploads
Upload::purgeOrphans();
// Get task queue
$taskQueue = ZoneTask::queue();
// Get task queue
$taskQueue = ZoneTask::queue();
// Plow through tasks
// TODO: make task functions modular
while($task = array_shift($taskQueue)) {
if(!isset($zoneInfo) || $zoneInfo->getId() !== $task->getZoneId())
$zoneInfo = $task->getZone();
// Plow through tasks
// TODO: make task functions modular
while($task = array_shift($taskQueue)) {
if(!isset($zoneInfo) || $zoneInfo->getId() !== $task->getZoneId())
$zoneInfo = $task->getZone();
switch($task->getName()) {
case 'screenshot':
$zoneInfo->takeScreenshot();
break;
switch($task->getName()) {
case 'screenshot':
$zoneInfo->takeScreenshot();
break;
}
$task->delete();
}
}
$task->delete();
} finally {
sem_release($semaphore);
}
sem_release($semaphore);