Message – an NSQ message¶
-
class
nsq.Message(id, body, timestamp, attempts)¶ A class representing a message received from
nsqd.If you want to perform asynchronous message processing use the
nsq.Message.enable_async()method, pass the message around, and respond using the appropriate instance method.Generates the following events that can be listened to with
nsq.Message.on():finishrequeuetouch
NOTE: A calling a message’s
nsq.Message.finish()andnsq.Message.requeue()methods positively and negatively impact the backoff state, respectively. However, sending thebackoff=Falsekeyword argument tonsq.Message.requeue()is considered neutral and will not impact backoff state.Parameters: - id (string) – the ID of the message
- body (string) – the raw message body
- timestamp (int) – the timestamp the message was produced
- attempts (int) – the number of times this message was attempted
Variables: - id – the ID of the message (from the parameter).
- body – the raw message body (from the parameter).
- timestamp – the timestamp the message was produced (from the parameter).
- attempts – the number of times this message was attempted (from the parameter).
-
enable_async()¶ Enables asynchronous processing for this message.
nsq.Readerwill not automatically respond to the message upon return ofmessage_handler.
-
finish()¶ Respond to
nsqdthat you’ve processed this message successfully (or would like to silently discard it).
-
has_responded()¶ Returns whether or not this message has been responded to.
-
is_async()¶ Returns whether or not asynchronous processing has been enabled.
-
off(name, callback)¶ Stop listening for the named event via the specified callback.
Parameters: - name (string) – the name of the event
- callback (callable) – the callback that was originally used
-
on(name, callback)¶ Listen for the named event with the specified callback.
Parameters: - name (string) – the name of the event
- callback (callable) – the callback to execute when the event is triggered
-
requeue(**kwargs)¶ Respond to
nsqdthat you’ve failed to process this message successfully (and would like it to be requeued).Parameters: - backoff (bool) – whether or not
nsq.Readershould apply backoff handling - delay (int) – the amount of time (in seconds) that this message should be delayed if -1 it will be calculated based on # of attempts
- backoff (bool) – whether or not
-
touch()¶ Respond to
nsqdthat you need more time to process the message.
-
trigger(name, *args, **kwargs)¶ Execute the callbacks for the listeners on the specified event with the supplied arguments.
All extra arguments are passed through to each callback.
Parameters: name (string) – the name of the event