Documentation
¶
Index ¶
- func NewRMQHandler(connData RMQConnectionData, logger ...*constants.Logger) (*RMQHandler, APIError)
- type APIError
- type RMQConnectionData
- type RMQDeliveryCallback
- type RMQDeliveryHandler
- func (d *RMQDeliveryHandler) Accept() APIError
- func (d *RMQDeliveryHandler) CheckResponseError() APIError
- func (d *RMQDeliveryHandler) GetCorrelationID() string
- func (d *RMQDeliveryHandler) GetHeader(headerName string) (interface{}, bool)
- func (d *RMQDeliveryHandler) GetMessageBody() []byte
- func (d *RMQDeliveryHandler) GetResponseRoutingKeyHeader() (string, APIError)
- func (d *RMQDeliveryHandler) GetRoutingKey() string
- type RMQHandler
- func (r *RMQHandler) DeclareExchanges(exchangeTypes map[string]string) APIError
- func (r *RMQHandler) DeclareQueues(queues []string) APIError
- func (r *RMQHandler) DeleteQueues(queueNames map[string][]string) APIError
- func (r *RMQHandler) NewRMQHandler() (*RMQHandler, APIError)
- func (r *RMQHandler) NewRMQMonitoringWorker(task RMQMonitoringWorkerTask) (*RMQMonitoringWorker, APIError)
- func (r *RMQHandler) NewRMQWorker(QueueName string, callback RMQDeliveryCallback) (*RMQWorker, APIError)
- func (r *RMQHandler) RMQPublishInterfaceToQueue(task RMQPublishRequestTask, message interface{}) APIError
- func (r *RMQHandler) RMQPublishToExchange(message interface{}, exchangeName, routingKey string) APIError
- func (r *RMQHandler) RMQPublishToQueue(task RMQPublishRequestTask) APIError
- func (r *RMQHandler) RMQQueueDeclareAndBind(task RMQQueueDeclareTask) APIError
- func (r *RMQHandler) SendRMQResponse(task *RMQPublishResponseTask, errorMsg ...*constants.APIError) APIError
- type RMQMonitoringWorker
- type RMQMonitoringWorkerTask
- type RMQPublishRequestTask
- type RMQPublishResponseTask
- type RMQQueueDeclareTask
- type RMQTimeoutCallback
- type RMQWorker
- func (w *RMQWorker) AwaitFinish()
- func (w *RMQWorker) GetID() string
- func (w *RMQWorker) GetName() string
- func (w *RMQWorker) HandleReconnect()
- func (w *RMQWorker) Listen()
- func (w *RMQWorker) Pause()
- func (w *RMQWorker) Reset()
- func (w *RMQWorker) Resume()
- func (w *RMQWorker) Serve()
- func (w *RMQWorker) SetAutoAck(autoAck bool) *RMQWorker
- func (w *RMQWorker) SetAutoAckByLib(autoAck bool) *RMQWorker
- func (w *RMQWorker) SetCheckResponseErrors(check bool) *RMQWorker
- func (w *RMQWorker) SetID(id string) *RMQWorker
- func (w *RMQWorker) SetName(name string) *RMQWorker
- func (w *RMQWorker) SetSyncMode(sync bool) *RMQWorker
- func (w *RMQWorker) SetTimeout(timeout time.Duration, callback RMQTimeoutCallback) *RMQWorker
- func (w *RMQWorker) Stop()
- func (w *RMQWorker) Subscribe() APIError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRMQHandler ¶
func NewRMQHandler(connData RMQConnectionData, logger ...*constants.Logger) (*RMQHandler, APIError)
NewRMQHandler - create new RMQHandler
Types ¶
type RMQConnectionData ¶ added in v1.0.1
type RMQConnectionData struct { User string `json:"user"` Password string `json:"password"` Host string `json:"host"` Port string `json:"port"` UseTLS string `json:"tls"` }
RMQConnectionData - rmq connection data container
type RMQDeliveryCallback ¶
type RMQDeliveryCallback func(w *RMQWorker, deliveryHandler RMQDeliveryHandler)
RMQDeliveryCallback - RMQ delivery callback function
type RMQDeliveryHandler ¶ added in v1.0.3
type RMQDeliveryHandler struct {
// contains filtered or unexported fields
}
RMQDeliveryHandler - RMQ delivery data container
func NewRMQDeliveryHandler ¶ added in v1.0.14
func NewRMQDeliveryHandler(delivery amqp.Delivery) RMQDeliveryHandler
NewRMQDeliveryHandler - create new RMQ delivery handler
func (*RMQDeliveryHandler) Accept ¶ added in v1.0.3
func (d *RMQDeliveryHandler) Accept() APIError
Accept RMQ message delivery
func (*RMQDeliveryHandler) CheckResponseError ¶ added in v1.0.13
func (d *RMQDeliveryHandler) CheckResponseError() APIError
CheckResponseError - check RMQ response error
func (*RMQDeliveryHandler) GetCorrelationID ¶ added in v1.0.3
func (d *RMQDeliveryHandler) GetCorrelationID() string
GetCorrelationID from RMQ delivery
func (*RMQDeliveryHandler) GetHeader ¶ added in v1.0.5
func (d *RMQDeliveryHandler) GetHeader(headerName string) (interface{}, bool)
GetHeader from RMQ delivery headers. returns header value, is header exists (bool)
func (*RMQDeliveryHandler) GetMessageBody ¶ added in v1.0.4
func (d *RMQDeliveryHandler) GetMessageBody() []byte
GetMessageBody from RMQ delivery
func (*RMQDeliveryHandler) GetResponseRoutingKeyHeader ¶ added in v1.0.19
func (d *RMQDeliveryHandler) GetResponseRoutingKeyHeader() (string, APIError)
GetResponseRoutingKeyHeader - get response routing key from delivery headers
func (*RMQDeliveryHandler) GetRoutingKey ¶ added in v1.0.3
func (d *RMQDeliveryHandler) GetRoutingKey() string
GetRoutingKey from RMQ delivery
type RMQHandler ¶
type RMQHandler struct { ConnectionData RMQConnectionData RMQConn *amqp.Connection RMQChannel *amqp.Channel Logger *constants.Logger Cron *simplecron.CronObject }
RMQHandler - RMQ connection handler
func (*RMQHandler) DeclareExchanges ¶
func (r *RMQHandler) DeclareExchanges(exchangeTypes map[string]string) APIError
DeclareExchanges - declare RMQ exchanges list. exchange name -> exchange type
func (*RMQHandler) DeclareQueues ¶
func (r *RMQHandler) DeclareQueues(queues []string) APIError
DeclareQueues - declare RMQ exchanges list
func (*RMQHandler) DeleteQueues ¶ added in v1.0.10
func (r *RMQHandler) DeleteQueues(queueNames map[string][]string) APIError
DeleteQueues - delete RMQ queues. map[manager name] -> array of queue names
func (*RMQHandler) NewRMQHandler ¶ added in v1.0.20
func (r *RMQHandler) NewRMQHandler() (*RMQHandler, APIError)
NewRMQHandler - clone handler & open new RMQ channel
func (*RMQHandler) NewRMQMonitoringWorker ¶ added in v1.0.2
func (r *RMQHandler) NewRMQMonitoringWorker(task RMQMonitoringWorkerTask) (*RMQMonitoringWorker, APIError)
NewRMQMonitoringWorker - declare queue, bind to exchange, create worker & run. monitoring worker used for create a queue and receive messages from exchange into it
func (*RMQHandler) NewRMQWorker ¶
func (r *RMQHandler) NewRMQWorker( QueueName string, callback RMQDeliveryCallback, ) (*RMQWorker, APIError)
NewRMQWorker - create new RMQ worker to receive messages
func (*RMQHandler) RMQPublishInterfaceToQueue ¶ added in v1.0.15
func (r *RMQHandler) RMQPublishInterfaceToQueue(task RMQPublishRequestTask, message interface{}) APIError
RMQPublishInterfaceToQueue - another version of rmqPublishToQueue. use `message` instead of `task.MessageBody`
func (*RMQHandler) RMQPublishToExchange ¶ added in v1.0.18
func (r *RMQHandler) RMQPublishToExchange(message interface{}, exchangeName, routingKey string) APIError
RMQPublishToExchange - publish message to exchange
func (*RMQHandler) RMQPublishToQueue ¶ added in v1.0.12
func (r *RMQHandler) RMQPublishToQueue(task RMQPublishRequestTask) APIError
RMQPublishToQueue - send request to rmq queue
func (*RMQHandler) RMQQueueDeclareAndBind ¶ added in v1.0.9
func (r *RMQHandler) RMQQueueDeclareAndBind(task RMQQueueDeclareTask) APIError
RMQQueueDeclareAndBind - declare queue & bind to exchange
func (*RMQHandler) SendRMQResponse ¶ added in v1.0.6
func (r *RMQHandler) SendRMQResponse( task *RMQPublishResponseTask, errorMsg ...*constants.APIError, ) APIError
SendRMQResponse - publish message to RMQ exchange
type RMQMonitoringWorker ¶ added in v1.0.2
type RMQMonitoringWorker struct {
Worker *RMQWorker
}
RMQMonitoringWorker - rmq extended worker
func (*RMQMonitoringWorker) AwaitFinish ¶ added in v1.0.2
func (w *RMQMonitoringWorker) AwaitFinish()
AwaitFinish - await worker finished
func (*RMQMonitoringWorker) GetID ¶ added in v1.8.0
func (w *RMQMonitoringWorker) GetID() string
GetID - get worker ID
func (*RMQMonitoringWorker) GetName ¶ added in v1.8.0
func (w *RMQMonitoringWorker) GetName() string
GetName - get worker name
func (*RMQMonitoringWorker) Pause ¶ added in v1.0.2
func (w *RMQMonitoringWorker) Pause()
Pause handle rmq messages
func (*RMQMonitoringWorker) Reset ¶ added in v1.2.0
func (w *RMQMonitoringWorker) Reset()
Reset worker channels
func (*RMQMonitoringWorker) Resume ¶ added in v1.0.2
func (w *RMQMonitoringWorker) Resume()
Resume handle rmq messages
func (*RMQMonitoringWorker) Stop ¶ added in v1.0.2
func (w *RMQMonitoringWorker) Stop()
Stop listen rmq messages
type RMQMonitoringWorkerTask ¶ added in v1.0.7
type RMQMonitoringWorkerTask struct { // required QueueName string ISQueueDurable bool ISAutoDelete bool FromExchangeName string RoutingKey string // to bind queue to response exchange Callback RMQDeliveryCallback // optional ID string Timeout time.Duration TimeoutCallback RMQTimeoutCallback }
RMQMonitoringWorkerTask - new RMQ request->response monitoring worker data
type RMQPublishRequestTask ¶ added in v1.0.11
type RMQPublishRequestTask struct { QueueName string ResponseRoutingKey string MessageBody interface{} }
RMQPublishRequestTask - publish message to RMQ task data container
type RMQPublishResponseTask ¶ added in v1.0.6
type RMQPublishResponseTask struct { ExchangeName string ResponseRoutingKey string CorrelationID string MessageBody interface{} }
RMQPublishResponseTask - response for publish message to RMQ request
type RMQQueueDeclareTask ¶ added in v1.0.8
type RMQQueueDeclareTask struct { QueueName string Durable bool AutoDelete bool FromExchangeName string RoutingKey string }
RMQQueueDeclareTask - queue declare task data container
type RMQTimeoutCallback ¶
type RMQTimeoutCallback func(w *RMQWorker)
RMQTimeoutCallback - RMQ response timeout callback function
type RMQWorker ¶
type RMQWorker struct {
// contains filtered or unexported fields
}
RMQWorker - just RMQ worker
func (*RMQWorker) AwaitFinish ¶ added in v1.0.2
func (w *RMQWorker) AwaitFinish()
AwaitFinish - wait for worker finished
func (*RMQWorker) HandleReconnect ¶ added in v1.0.2
func (w *RMQWorker) HandleReconnect()
HandleReconnect - reconnect to RMQ delivery (messages)
func (*RMQWorker) Pause ¶ added in v1.0.2
func (w *RMQWorker) Pause()
Pause RMQ Worker (ignore messages)
func (*RMQWorker) Resume ¶ added in v1.0.2
func (w *RMQWorker) Resume()
Resume RMQ Worker (continue listen messages)
func (*RMQWorker) SetAutoAck ¶ added in v1.0.2
SetAutoAck - auto accept messages. This will also change the auto-acceptance of messages by the library (!autoAck)
func (*RMQWorker) SetAutoAckByLib ¶ added in v1.11.2
SetAutoAckByLib - auto accept messages
func (*RMQWorker) SetCheckResponseErrors ¶ added in v1.0.2
SetCheckResponseErrors - determines whether the errors in the answers passed to headers will be checked
func (*RMQWorker) SetSyncMode ¶ added in v1.3.0
SetSyncMode - whether to run the callback of task processing synchronously
func (*RMQWorker) SetTimeout ¶ added in v1.0.2
func (w *RMQWorker) SetTimeout(timeout time.Duration, callback RMQTimeoutCallback) *RMQWorker
SetTimeout - set RMQ response timeout. When the timer goes out, the callback will be called