AsyncConn
– a connection to nsqd¶
-
class
nsq.
AsyncConn
(host, port, timeout=1.0, heartbeat_interval=30, requeue_delay=90, tls_v1=False, tls_options=None, snappy=False, deflate=False, deflate_level=6, user_agent=u'pynsq/0.7.0', output_buffer_size=16384, output_buffer_timeout=250, sample_rate=0, io_loop=None, auth_secret=None, msg_timeout=None)¶ Low level object representing a TCP connection to nsqd.
When a message on this connection is requeued and the requeue delay has not been specified, it calculates the delay automatically by an increasing multiple of
requeue_delay
.Generates the following events that can be listened to with
nsq.AsyncConn.on()
:connect
close
error
identify
identify_response
auth
auth_response
heartbeat
ready
message
response
backoff
resume
Parameters: - host – the host to connect to
- port – the post to connect to
- timeout – the timeout for read/write operations (in seconds)
- heartbeat_interval – the amount of time (in seconds) to negotiate with the connected producers to send heartbeats (requires nsqd 0.2.19+)
- requeue_delay – the base multiple used when calculating requeue delay (multiplied by # of attempts)
- tls_v1 – enable TLS v1 encryption (requires nsqd 0.2.22+)
- tls_options – dictionary of options to pass to ssl.wrap_socket() as
**kwargs
- snappy – enable Snappy stream compression (requires nsqd 0.2.23+)
- deflate – enable deflate stream compression (requires nsqd 0.2.23+)
- deflate_level – configure the deflate compression level for this connection (requires nsqd 0.2.23+)
- output_buffer_size – size of the buffer (in bytes) used by nsqd for buffering writes to this connection
- output_buffer_timeout – timeout (in ms) used by nsqd before
flushing buffered writes (set to 0 to disable). Warning:
configuring clients with an extremely low (
< 25ms
)output_buffer_timeout
has a significant effect onnsqd
CPU usage (particularly with> 50
clients connected). - sample_rate – take only a sample of the messages being sent to the client. Not setting this or setting it to 0 will ensure you get all the messages destined for the client. Sample rate can be greater than 0 or less than 100 and the client will receive that percentage of the message traffic. (requires nsqd 0.2.25+)
- user_agent – a string identifying the agent for this client
in the spirit of HTTP (default:
<client_library_name>/<version>
) (requires nsqd 0.2.25+) - auth_secret – a string passed when using nsq auth (requires nsqd 1.0+)
- msg_timeout – the amount of time (in seconds) that nsqd will wait before considering messages that have been delivered to this consumer timed out (requires nsqd 0.2.28+)
-
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
-
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