Exemple #1
0
 /**
  * Schedule all of the delayed jobs for a given timestamp.
  *
  * Searches for all items for a given timestamp, pulls them off the list of
  * delayed jobs and pushes them across to Resque.
  *
  * @param DateTime|int $timestamp
  *            Search for any items up to this timestamp to schedule.
  */
 public function enqueueDelayedItemsForTimestamp($timestamp)
 {
     $item = null;
     while ($item = ResqueScheduler::nextItemForTimestamp($timestamp)) {
         $this->log('queueing ' . $item['class'] . ' in ' . $item['queue'] . ' [delayed]');
         Resque_Event::trigger('beforeDelayedEnqueue', array('queue' => $item['queue'], 'class' => $item['class'], 'args' => $item['args']));
         $payload = array_merge(array($item['queue'], $item['class']), $item['args']);
         // call_user_func_array('Resque::enqueue', $payload);
         call_user_func_array(array(new Resque(), 'enqueue'), $payload);
     }
 }
 public static function afterRetry($payload, $enqueuedAt)
 {
     $enqueuedAt = ResqueScheduler::getTimestamp($enqueuedAt);
     ResqueUtil::log('[afterRetry]Failed job ' . CJSON::encode($payload) . 'is enqueued again at ' . $enqueuedAt);
 }
Exemple #3
0
 /**
  * Get delayed defailed information of jobs
  *
  * @return array JSON format job information list
  */
 public function getDelayedJobs()
 {
     $timestamps = Resque::redis()->zrange('delayed_queue_schedule', 0, -1);
     $jobs = array();
     foreach ($timestamps as $timestamp) {
         $jobs = array_merge($jobs, ResqueScheduler::getDelayedTimestampJobs($timestamp));
     }
     return $jobs;
 }