def push(value, log_trx = true)
      if log_trx
        raise NoTransactionLog unless @trx
        size = [value.size].pack("I")
        transaction sprintf(TRX_PUSH, size, value)
      end

      @total_items += 1
      super([now_usec, value])
    end
def push(value, log_trx = true)
      if log_trx
        raise NoTransactionLog unless @trx
        size = [value.size].pack("I")
        transaction sprintf(TRX_PUSH, size, value)
      end

      @total_items += 1
      super([now_usec, value])
    end
Create a new PersistentQueue at +persistence_path+/+queue_name+.
 If a queue log exists at that path, the Queue will be loaded from
 disk before being available for use.

 Pushes +value+ to the queue. By default, +push+ will write to the
 transactional log. Set +log_trx=false+ to override this behaviour.