mq

package
v0.0.0-...-56e218b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2018 License: MIT Imports: 4 Imported by: 7

Documentation

Overview

IronMQ (elastic message queue) client library

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alert

type Alert struct {
	Type      string `json:"type"`
	Direction string `json:direction`
	Trigger   int    `json:trigger`
	Queue     string `queue`
}

type AlertInfo

type AlertInfo struct {
	Id string `json:"id"`
}

type Message

type Message struct {
	Id   string `json:"id,omitempty"`
	Body string `json:"body"`
	// Timeout is the amount of time in seconds allowed for processing the
	// message.
	Timeout int64 `json:"timeout,omitempty"`
	// Delay is the amount of time in seconds to wait before adding the message
	// to the queue.
	Delay         int64 `json:"delay,omitempty"`
	ReservedCount int64 `json:"reserved_count,omitempty"`
	// contains filtered or unexported fields
}

func (Message) Delete

func (m Message) Delete() (err error)

Delete message from queue

func (Message) Release

func (m Message) Release(delay int64) (err error)

Put message back in the queue, message will be available after +delay+ seconds.

func (Message) Subscribers

func (m Message) Subscribers() (interface{}, error)

func (Message) Touch

func (m Message) Touch() (err error)

Reset timeout of message to keep it reserved

type PushStatus

type PushStatus struct {
	Retried    int    `json:"retried"`
	StatusCode int    `json:"status_code"`
	Status     string `json:"status"`
}

type Queue

type Queue struct {
	Settings config.Settings
	Name     string
}

func ConfigNew

func ConfigNew(queueName string, settings *config.Settings) Queue

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 ListProjectQueues

func ListProjectQueues(projectId string, token string, page int, perPage int) (queues []Queue, err error)

func ListQueues

func ListQueues(page, perPage int) (queues []Queue, err error)

func ListSettingsQueues

func ListSettingsQueues(settings config.Settings, page int, perPage int) (queues []Queue, err error)

func New

func New(queueName string) *Queue

func (Queue) AddAlerts

func (q Queue) AddAlerts(alerts ...*Alert) (err error)

func (Queue) AddSubscribers

func (q Queue) AddSubscribers(subscribers ...string) (err error)

AddSubscribers adds subscribers.

func (Queue) Clear

func (q Queue) Clear() (err error)

Delete all messages in the queue

func (Queue) Delete

func (q Queue) Delete() (bool, error)

func (Queue) DeleteMessage

func (q Queue) DeleteMessage(msgId string) (err error)

Delete message from queue

func (Queue) DeleteMessages

func (q Queue) DeleteMessages(messages []*Message) error

func (Queue) Get

func (q Queue) Get() (msg *Message, err error)

Get reserves a message from the queue. The message will not be deleted, but will be reserved until the timeout expires. If the timeout expires before the message is deleted, the message will be placed back onto the queue. As a result, be sure to Delete a message after you're done with it.

func (Queue) GetN

func (q Queue) GetN(n int) (msgs []*Message, err error)

get N messages

func (Queue) GetNWithTimeout

func (q Queue) GetNWithTimeout(n, timeout int) (msgs []*Message, err error)

func (Queue) GetNWithTimeoutAndWait

func (q Queue) GetNWithTimeoutAndWait(n, timeout, wait int) (msgs []*Message, err error)

func (Queue) Info

func (q Queue) Info() (QueueInfo, error)

func (Queue) ListQueues

func (q Queue) ListQueues(page, perPage int) (queues []Queue, err error)

This method is left to support backward compatibility. This method is replaced by func ListQueues(page, perPage int) (queues []Queue, err error)

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) Peek

func (q Queue) Peek() (msg *Message, err error)

func (Queue) PeekN

func (q Queue) PeekN(n int) (msgs []*Message, err error)

peek N messages

func (Queue) PeekNWithTimeout

func (q Queue) PeekNWithTimeout(n, timeout int) (msgs []*Message, err error)

func (Queue) PushMessage

func (q Queue) PushMessage(msg *Message) (id string, err error)

func (Queue) PushMessages

func (q Queue) PushMessages(msgs ...*Message) (ids []string, err error)

func (Queue) PushString

func (q Queue) PushString(body string) (id string, err error)

func (Queue) PushStrings

func (q Queue) PushStrings(bodies ...string) (ids []string, err error)

Push adds one or more messages to the end of the queue using IronMQ's defaults:

timeout - 60 seconds
delay - none

Identical to PushMessages with Message{Timeout: 60, Delay: 0}

func (Queue) ReleaseMessage

func (q Queue) ReleaseMessage(msgId string, delay int64) (err error)

Put message back in the queue, message will be available after +delay+ seconds.

func (Queue) RemoveAlert

func (q Queue) RemoveAlert(alertId string) (err error)

func (Queue) RemoveAlerts

func (q Queue) RemoveAlerts(alertIds ...string) (err error)

func (Queue) RemoveAllAlerts

func (q Queue) RemoveAllAlerts() (err error)

func (Queue) RemoveSubscribers

func (q Queue) RemoveSubscribers(subscribers ...string) (err error)

RemoveSubscribers removes subscribers.

func (Queue) TouchMessage

func (q Queue) TouchMessage(msgId string) (err error)

Reset timeout of message to keep it reserved

func (Queue) Update

func (q Queue) Update(qi QueueInfo) (QueueInfo, error)

func (Queue) UpdateAlerts

func (q Queue) UpdateAlerts(alerts ...*Alert) (err error)

type QueueInfo

type QueueInfo struct {
	Id            string            `json:"id,omitempty"`
	Name          string            `json:"name,omitempty"`
	PushType      string            `json:"push_type,omitempty"`
	Reserved      int               `json:"reserved,omitempty"`
	RetriesDelay  int               `json:"retries_delay,omitempty"`
	Retries       int               `json:"retries,omitempty"`
	Size          int               `json:"size,omitempty"`
	Subscribers   []QueueSubscriber `json:"subscribers,omitempty"`
	Alerts        []Alert           `json:"alerts,omitempty"`
	TotalMessages int               `json:"total_messages,omitempty"`
	ErrorQueue    string            `json:"error_queue,omitempty"`
}

type QueueSubscriber

type QueueSubscriber struct {
	URL     string            `json:"url"`
	Headers map[string]string `json:"headers,omitempty"`
}

type Subscriber

type Subscriber struct {
	Retried    int    `json:"retried"`
	StatusCode int    `json:"status_code"`
	Status     string `json:"status"`
	URL        string `json:"url"`
}

type Subscription

type Subscription struct {
	PushType     string
	Retries      int
	RetriesDelay int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL