function run() { session_start(); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config =& CRM_Core_Config::singleton(); // this does not return on failure CRM_Utils_System::authenticateScript(true); // we now use DB locks on a per job basis processQueue(); }
function run() { session_start(); require_once '../civicrm.config.php'; require_once 'CRM/Core/Config.php'; $config =& CRM_Core_Config::singleton(); // this does not return on failure CRM_Utils_System::authenticateScript(true); //log the execution of script CRM_Core_Error::debug_log_message('civimail.cronjob.php'); // load bootstrap to call hooks require_once 'CRM/Utils/System.php'; CRM_Utils_System::loadBootStrap(); // we now use DB locks on a per job basis processQueue($config->mailerJobSize); }
foreach ($articles as $articleId => $articleCount) { //is the difference in the time less than a second? //insertPageCount($dynamodb, $articleId, $today, $count); if ($count == 0) { $queues[] = createNewQueue(); $queueCount++; } addPageCountToQueue($dynamodb, $queues[$queueCount - 1], $articleId, $today, $articleCount); $count++; if ($count == $maxWrites) { $count = 0; } } for ($i = 0; $i < $queueCount; $i++) { $startTime = time(); processQueue($dynamodb, $queues[$i]); $finishTime = time(); while ($finishTime - $startTime < 1) { //need to wait till a second is up. $finishTime = time(); } } } /** * * This creates a new queue that can * have items added it to be batch * processed. * */ function createNewQueue()
echo '<a href="?completed">Show completed queue items</a>'; } else { echo '<a href="?">Show pending queue items</a>'; } break; case 'process': // This is intended to be called from cron every minute // $session->requireSuperAdmin(); set_time_limit(0); //no time limit //$config['no_session'] = true; //force session "last active" update to be skipped //$config['debug'] = false; $limit = 10; //do a few encodings each time the script is run for ($i = 0; $i < $limit; $i++) { processQueue(); // sleep(1); echo '.'; } die; case 'show': // owner = event id $event = TaskQueue::getEntry($this->owner); $fileId = $event['referId']; $added = false; if (!empty($_POST['dst_audio_fmt'])) { $added = addProcessEvent(PROCESSQUEUE_AUDIO_RECODE, $h->session->id, $fileId, $_POST['dst_audio_fmt']); } else { if (!empty($_POST['dst_image_fmt'])) { $added = addProcessEvent(PROCESSQUEUE_IMAGE_RECODE, $h->session->id, $fileId, $_POST['dst_image_fmt']); } else {
$mediaIds[] = TextHelper::serializeMediaId($entry); } } } $mediaQueue->enqueueMultiple(array_map(function ($mediaId) { return new QueueItem($mediaId); }, $mediaIds)); $logger->log('ok'); }); $mediaIds = []; foreach (Media::getConstList() as $media) { $entries = Model_Media::getOldest($media, 100); foreach ($entries as $entry) { $mediaAge = time() - strtotime($entry->processed); if ($mediaAge > Config::$mediaQueueMinWait) { $mediaIds[] = TextHelper::serializeMediaId($entry); } } } $mediaQueue->enqueueMultiple(array_map(function ($mediaId) { return new QueueItem($mediaId); }, $mediaIds)); #process media processQueue($mediaQueue, Config::$mediaPerCronRun, Config::$mediaQueueMaxAttempts, $logger, function ($key) use($mediaProcessors, $logger) { list($media, $malId) = TextHelper::deserializeMediaId($key); $logger->log('Processing %s #%d... ', Media::toString($media), $malId); #process the media $mediaProcessors[$media]->process($malId); $logger->log('ok'); }); });
$currentPid = 0; } //exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile)); if ($currentPid > 0) { echo 'CurrentPID: ' . $currentPid . "\n"; if (!isRunning($currentPid)) { saveMyPid($pidfile); $logger = new eventLogger($mysqli); processQueue($mysqli, $dicomConfig, $logger); } else { echo "Process still running! Exiting.\n"; die; } } else { saveMyPid($pidfile); processQueue($mysqli, $dicomConfig); } function checkFileWatcher() { echo "Checking file watcher status...\n"; $result = shell_exec('sudo service dicom-file-watcher status'); echo 'result: ' . $result; if (trim($result) == 'dicom-file-watcher stop/waiting') { echo "File watcher is not running, trying to start...\n"; shell_exec('sudo service dicom-file-watcher start'); checkFileWatcher(); } } function isRunning($pid) { try {