Documentation ¶
Overview ¶
IronMQ (elastic message queue) client library
Index ¶
- func ErrQueueNotFound(err error) bool
- type Alert
- type Message
- type PushInfo
- type PushStatus
- type Queue
- func ConfigNew(queueName string, settings *config.Settings) Queue
- func Filter(prefix string) ([]Queue, error)
- func FilterPage(prefix, prev string, perPage int) ([]Queue, error)
- func List() ([]Queue, error)
- func ListPage(prev string, perPage int) ([]Queue, error)
- func ListQueues(s config.Settings, prefix, prev string, perPage int) ([]Queue, error)
- func New(queueName string) Queue
- func (q Queue) AddAlerts(alerts ...*Alert) (err error)
- func (q Queue) AddSubscribers(subscribers ...QueueSubscriber) error
- func (q Queue) Clear() (err error)
- func (q Queue) Delete() error
- func (q Queue) DeleteMessage(msgId, reservationId string) (err error)
- func (q Queue) DeleteMessages(ids []string) error
- func (q Queue) DeleteReservedMessages(messages []Message) error
- func (q Queue) Get() (msg *Message, err error)
- func (q Queue) GetN(n int) ([]Message, error)
- func (q Queue) GetNWithTimeout(n, timeout int) ([]Message, error)
- func (q Queue) Info() (QueueInfo, error)
- func (q Queue) LongPoll(n, timeout, wait int, delete bool) ([]Message, error)
- func (q Queue) MessageSubscribers(msgId string) ([]Subscriber, error)
- func (q Queue) MessageSubscribersPollN(msgId string, n int) ([]Subscriber, error)
- func (q Queue) Peek() ([]Message, error)
- func (q Queue) PeekN(n int) ([]Message, error)
- func (q Queue) Pop() (msg Message, err error)
- func (q Queue) PopN(n int) ([]Message, error)
- func (q Queue) PushMessage(msg Message) (id string, err error)
- func (q Queue) PushMessages(msgs ...Message) (ids []string, err error)
- func (q Queue) PushString(body string) (id string, err error)
- func (q Queue) PushStrings(bodies ...string) (ids []string, err error)
- func (q Queue) ReleaseMessage(msgId, reservationId string, delay int64) (err error)
- func (q Queue) RemoveSubscribers(subscribers ...string) error
- func (q Queue) RemoveSubscribersCollection(subscribers ...QueueSubscriber) error
- func (q Queue) ReplaceSubscribers(subscribers ...QueueSubscriber) error
- func (q Queue) Reserve() (msg *Message, err error)
- func (q Queue) ReserveN(n int) ([]Message, error)
- func (q Queue) TouchMessage(msgId, reservationId string) (string, error)
- func (q Queue) TouchMessageFor(msgId, reservationId string, timeout int) (string, error)
- func (q *Queue) UnmarshalJSON(data []byte) error
- func (q Queue) Update(queueInfo QueueInfo) (QueueInfo, error)
- type QueueInfo
- type QueueSubscriber
- type Subscriber
- type Subscription
- type Timestamped
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ErrQueueNotFound ¶
Types ¶
type Message ¶
type Message struct { Id string `json:"id,omitempty"` Body string `json:"body"` Delay int64 `json:"delay,omitempty"` // time in seconds to wait before enqueue, default 0 ReservedUntil time.Time `json:"reserved_until,omitempty"` ReservedCount int `json:"reserved_count,omitempty"` ReservationId string `json:"reservation_id,omitempty"` // contains filtered or unexported fields }
Message is dual purpose, as it represents a returned message and also can be used for creation. For creation, only Body and Delay are valid. Delay will not be present in returned message.
func (Message) Release ¶
Put message back in the queue, message will be available after +delay+ seconds.
func (Message) Subscribers ¶
type PushInfo ¶
type PushInfo struct { RetriesDelay int `json:"retries_delay,omitempty"` Retries int `json:"retries,omitempty"` Subscribers []QueueSubscriber `json:"subscribers,omitempty"` ErrorQueue string `json:"error_queue,omitempty"` }
type PushStatus ¶
type Queue ¶
A Queue is the client's idea of a queue, sufficient for getting information for the queue with given Name at the server configured with Settings. See mq.New()
func ConfigNew ¶
ConfigNew uses the specified settings over configuration specified in an iron.json file or environment variables to return a Queue object capable of acquiring information about or modifying the queue specified by queueName.
func FilterPage ¶
Like ListPage, but with an added filter.
func List ¶
List will get a listQueues of all queues for the configured project, paginated 30 at a time. For paging or filtering, see ListPage and Filter.
func ListPage ¶
ListPage is like List, but will allow specifying a page length and pagination. To get the first page, let prev = "". To get the second page, use the name of the last queue on the first page as "prev".
func ListQueues ¶
func New ¶
New uses the configuration specified in an iron.json file or environment variables to return a Queue object capable of acquiring information about or modifying the queue specified by queueName.
func (Queue) AddSubscribers ¶
func (q Queue) AddSubscribers(subscribers ...QueueSubscriber) error
func (Queue) DeleteMessage ¶
Delete message from queue
func (Queue) DeleteMessages ¶
Delete multiple messages by id
func (Queue) DeleteReservedMessages ¶
Delete multiple reserved messages from the queue
func (Queue) GetNWithTimeout ¶
TODO deprecate for LongPoll?
func (Queue) Info ¶
Will return information about a queue, could also be used to check existence. TODO make QueueNotExist err
func (Queue) LongPoll ¶
LongPoll is the long form for Get, Pop, with all options available. If wait = 0, then LongPoll is simply a get, otherwise, the server will poll for n messages up to wait seconds (max 30). If delete is specified, then each message will be deleted instead of being put back onto the queue.
func (Queue) MessageSubscribers ¶
func (q Queue) MessageSubscribers(msgId string) ([]Subscriber, error)
func (Queue) MessageSubscribersPollN ¶
func (q Queue) MessageSubscribersPollN(msgId string, n int) ([]Subscriber, error)
func (Queue) PushMessage ¶
PushMessage enqueues a message.
func (Queue) PushMessages ¶
PushMessages enqueues each message in order.
func (Queue) PushString ¶
PushString enqueues a message with body specified and no delay.
func (Queue) PushStrings ¶
PushStrings enqueues messages with specified bodies and no delay.
func (Queue) ReleaseMessage ¶
Put message back in the queue, message will be available after +delay+ seconds.
func (Queue) RemoveSubscribers ¶
func (Queue) RemoveSubscribersCollection ¶
func (q Queue) RemoveSubscribersCollection(subscribers ...QueueSubscriber) error
func (Queue) ReplaceSubscribers ¶
func (q Queue) ReplaceSubscribers(subscribers ...QueueSubscriber) error
func (Queue) TouchMessage ¶
Reset timeout of message to keep it reserved
func (Queue) TouchMessageFor ¶
Reset timeout of message to keep it reserved
func (*Queue) UnmarshalJSON ¶
type QueueInfo ¶
type QueueInfo struct { Name string `json:"name"` Size int `json:"size"` TotalMessages int `json:"total_messages"` MessageExpiration int `json:"message_expiration"` MessageTimeout int `json:"message_timeout"` Type string `json:"type,omitempty"` Push *PushInfo `json:"push,omitempty"` Alerts []Alert `json:"alerts,omitempty"` }
When used for create/update, Size and TotalMessages will be omitted.
func ConfigCreateQueue ¶
Will create a new queue, all fields are optional. Queue type cannot be changed.