Exemple #1
0
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()
Exemple #4
0
         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 {
Exemple #5
0
                    $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 {