/**
  * Saves an object reference into the queue item table.
  * @return boolean true on success
  * @throws ServerException on failure
  */
 public function enqueue($object, $queue)
 {
     $qi = new Queue_item();
     $qi->frame = $this->encode($object);
     $qi->transport = $queue;
     $qi->created = common_sql_now();
     $result = $qi->insert();
     if (!$result) {
         common_log_db_error($qi, 'INSERT', __FILE__);
         throw new ServerException('DB error inserting queue item');
     }
     $this->stats('enqueued', $queue);
     return true;
 }
예제 #2
0
 function enqueue($object, $queue)
 {
     $notice = $object;
     $qi = new Queue_item();
     $qi->notice_id = $notice->id;
     $qi->transport = $queue;
     $qi->created = $notice->created;
     $result = $qi->insert();
     if (!$result) {
         common_log_db_error($qi, 'INSERT', __FILE__);
         throw new ServerException('DB error inserting queue item');
     }
     return true;
 }
예제 #3
0
파일: util.php 프로젝트: Br3nda/laconica
function common_enqueue_notice($notice)
{
    foreach (array('jabber', 'omb', 'sms', 'public', 'twitter', 'facebook', 'ping') as $transport) {
        $qi = new Queue_item();
        $qi->notice_id = $notice->id;
        $qi->transport = $transport;
        $qi->created = $notice->created;
        $result = $qi->insert();
        if (!$result) {
            $last_error =& PEAR::getStaticProperty('DB_DataObject', 'lastError');
            common_log(LOG_ERR, 'DB error inserting queue item: ' . $last_error->message);
            return false;
        }
        common_log(LOG_DEBUG, 'complete queueing notice ID = ' . $notice->id . ' for ' . $transport);
    }
    return $result;
}