コード例 #1
0
 public function process(Tracker $tracker = null)
 {
     $tracker = $tracker ?: new Tracker();
     if (!$tracker->shouldRecordStatistics()) {
         return $tracker;
     }
     $request = new RequestSet();
     $request->rememberEnvironment();
     $loops = 0;
     try {
         while ($queue = $this->queueManager->lockNext()) {
             if ($loops > $this->numMaxBatchesToProcess) {
                 Common::printDebug('This worker processed ' . $loops . ' times, stopping now.');
                 break;
             } else {
                 $loops++;
             }
             $queuedRequestSets = $queue->getRequestSetsToProcess();
             if (!empty($queuedRequestSets)) {
                 $requestSetsToRetry = $this->processRequestSets($tracker, $queuedRequestSets);
                 $this->processRequestSets($tracker, $requestSetsToRetry);
                 $queue->markRequestSetsAsProcessed();
                 // TODO if markR..() fails, we would process them again later
             }
             $this->queueManager->unlock();
         }
     } catch (Exception $e) {
         Common::printDebug('Failed to process a request set: ' . $e->getMessage());
         $this->queueManager->unlock();
         $request->restoreEnvironment();
         throw $e;
     }
     $request->restoreEnvironment();
     return $tracker;
 }
コード例 #2
0
 private function buildRequestSetWithIdSite($numRequests, $additionalParams = array())
 {
     $req = new RequestSet();
     $requests = array();
     for ($index = 1; $index <= $numRequests; $index++) {
         $requests[] = array_merge(array('idsite' => 1, 'cip' => '192.168.33.11', 'token_auth' => Fixture::getTokenAuth()), $additionalParams);
     }
     $req->setRequests($requests);
     $req->rememberEnvironment();
     return $req;
 }
コード例 #3
0
 private function buildRequestSetWithIdSite($numRequests, $idSite = null)
 {
     $req = new RequestSet();
     $requests = array();
     for ($index = 1; $index <= $numRequests; $index++) {
         $requests[] = array('idsite' => $idSite ?: $index);
     }
     $req->setRequests($requests);
     $req->rememberEnvironment();
     return $req;
 }