예제 #1
0
 /**
  * Puts a job on the queue using specified tube.
  *
  * @param string $tube
  * @param string $data
  * @param array  $options
  * @return boolean|string job id or false
  */
 public function putInTube($tube, $data, $options = null)
 {
     if (null === $options) {
         $options = [];
     }
     if (!array_key_exists('delay', $options)) {
         $options['delay'] = self::DEFAULT_DELAY;
     }
     if (!array_key_exists('priority', $options)) {
         $options['priority'] = self::DEFAULT_PRIORITY;
     }
     if (!array_key_exists('ttr', $options)) {
         $options['ttr'] = self::DEFAULT_TTR;
     }
     $this->choose($this->getTubeName($tube));
     return parent::put($data, $options);
 }
 /**
  * Put message
  *
  * @param string $message
  * @param array $options optional task config
  * @return string|bool
  */
 public function put($message, array $options = [])
 {
     $this->connect->put($message, $options);
     return null;
 }
예제 #3
0
 public function put($data, array $options = null)
 {
     return parent::put($data, $options);
 }
예제 #4
0
 /**
  * Queue a new e-mail message for sending
  *
  * @param string|array $view
  * @param array $data
  * @param \Closure|string $callback
  *
  * @return mixed
  */
 public function queue($view, array $data, $callback)
 {
     $callback = $this->buildQueueCallable($callback);
     $this->queue->choose('mailer');
     return $this->queue->put(json_encode(['job' => 'mailer:handleQueuedMessage', 'data' => ['view' => $view, 'data' => $data, 'callback' => $callback]]));
 }
예제 #5
0
 /**
  * Queue a new e-mail message for sending
  *
  * @param string|array    $body
  * @param \Closure|string $callback
  *
  * @return mixed
  */
 public function queue($body, $callback)
 {
     $message = $this->createMessage($body, $callback);
     return $this->queue->put(json_encode(['message' => serialize($message->getSwiftMessage())]));
 }
예제 #6
0
 /**
  * Puts a job on the queue using specified tube.
  *
  * @param string $tube
  * @param string $data
  * @param array  $options
  */
 public function putInTube($tube, $data, $options = null, $reset = false)
 {
     if (null === $options) {
         $options = array();
     }
     if (!array_key_exists('delay', $options)) {
         $options['delay'] = self::DEFAULT_DELAY;
     }
     if (!array_key_exists('priority', $options)) {
         $options['priority'] = self::DEFAULT_PRIORITY;
     }
     if (!array_key_exists('ttr', $options)) {
         $options['ttr'] = self::DEFAULT_TTR;
     }
     $this->choose($this->getTubeName($tube));
     $jobid = parent::put($data, $options);
     // add worker to db
     $sql = 'insert into work(jobId,`data`,tube,options,reset) values(?,?,?,?,?)';
     if ($reset) {
         $sqlvalue = array($jobid, $data, $tube, json_encode($options), 1);
     } else {
         $sqlvalue = array($jobid, $data, $tube, json_encode($options), 0);
     }
     $connection = $this->setDB();
     $connection->execute($sql, $sqlvalue);
     $connection->close();
 }