/**
  * {@inheritDoc}
  *
  * Note : see DoctrineQueue::parseOptionsToDateTime for schedule and delay options
  */
 public function push(JobInterface $job, array $options = array())
 {
     $scheduled = $this->parseOptionsToDateTime($options);
     $this->connection->insert($this->options->getTableName(), array('queue' => $this->getName(), 'status' => self::STATUS_PENDING, 'created' => new DateTime(null, new DateTimeZone(date_default_timezone_get())), 'data' => $job->jsonSerialize(), 'scheduled' => $scheduled), array(Type::STRING, Type::SMALLINT, Type::DATETIME, Type::TEXT, Type::DATETIME));
     if (self::DATABASE_PLATFORM_POSTGRES == $this->connection->getDatabasePlatform()->getName()) {
         $id = $this->connection->lastInsertId($this->options->getTableName() . '_id_seq');
     } else {
         $id = $this->connection->lastInsertId();
     }
     $job->setId($id);
 }