diff options
| author | jason | 2015-12-03 16:28:33 -0700 |
|---|---|---|
| committer | jason | 2015-12-03 16:28:33 -0700 |
| commit | b7d817813b8691aa38e43113e5af85e80cf99900 (patch) | |
| tree | 8e68b86cf6946a5337e8047abafb04f233e732b8 | |
| parent | 1cf776b83dcbaf4b1f0c414b11b86ea88c117b0d (diff) | |
| download | eventmq-b7d817813b8691aa38e43113e5af85e80cf99900.tar.gz eventmq-b7d817813b8691aa38e43113e5af85e80cf99900.zip | |
update
| -rw-r--r-- | _sources/protocol.txt | 6 | ||||
| -rw-r--r-- | api.html | 2 | ||||
| -rw-r--r-- | contributing.html | 4 | ||||
| -rw-r--r-- | exceptions.html | 7 | ||||
| -rw-r--r-- | genindex.html | 35 | ||||
| -rw-r--r-- | jobmanager.html | 5 | ||||
| -rw-r--r-- | objects.inv | bin | 828 -> 880 bytes | |||
| -rw-r--r-- | protocol.html | 2 | ||||
| -rw-r--r-- | receiver.html | 12 | ||||
| -rw-r--r-- | router.html | 63 | ||||
| -rw-r--r-- | searchindex.js | 2 | ||||
| -rw-r--r-- | sender.html | 8 | ||||
| -rw-r--r-- | utils.html | 11 | ||||
| -rw-r--r-- | utils/classes.html | 20 | ||||
| -rw-r--r-- | utils/messages.html | 20 | ||||
| -rw-r--r-- | utils/timeutils.html | 12 |
16 files changed, 150 insertions, 59 deletions
diff --git a/_sources/protocol.txt b/_sources/protocol.txt index 86491dc..e468b06 100644 --- a/_sources/protocol.txt +++ b/_sources/protocol.txt | |||
| @@ -5,7 +5,7 @@ EventMQ Protocol Specification | |||
| 5 | 5 | ||
| 6 | Goals | 6 | Goals |
| 7 | ===== | 7 | ===== |
| 8 | The EventMQ Protocol (eMQP) defines a reliable service-oriented request-reply and pub-sub dialog between a set of clients, a broker, and a set of workers. This goal is to | 8 | The EventMQ Protocol (eMQP) defines a reliable service-oriented request-reply and pub-sub dialog between a set of clients, a broker, and a set of workers. This goal is to |
| 9 | 9 | ||
| 10 | The goals are to: | 10 | The goals are to: |
| 11 | 11 | ||
| @@ -13,7 +13,7 @@ The goals are to: | |||
| 13 | * Allow requests to be routed to workers by an abstracted service name. | 13 | * Allow requests to be routed to workers by an abstracted service name. |
| 14 | * Detect disconnected peers through heartbeating. | 14 | * Detect disconnected peers through heartbeating. |
| 15 | * Allow for message tracing and debugging. | 15 | * Allow for message tracing and debugging. |
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | License | 18 | License |
| 19 | ======= | 19 | ======= |
| @@ -69,7 +69,7 @@ FRAME Value Description | |||
| 69 | ====== ============== =========== | 69 | ====== ============== =========== |
| 70 | 0 _EMPTY_ leave empty | 70 | 0 _EMPTY_ leave empty |
| 71 | 1 eMQP/1.0 Protocol version | 71 | 1 eMQP/1.0 Protocol version |
| 72 | 2 READY command | 72 | 2 REQUEST command |
| 73 | 3 _MSGID_ A unique id for the msg | 73 | 3 _MSGID_ A unique id for the msg |
| 74 | 4 _QUEUE_NAME_ the name of the queue the worker belongs to | 74 | 4 _QUEUE_NAME_ the name of the queue the worker belongs to |
| 75 | 5 _HEADERS_ dictionary of headers. can be an empty set | 75 | 5 _HEADERS_ dictionary of headers. can be an empty set |
| @@ -150,7 +150,7 @@ | |||
| 150 | <li class="toctree-l1"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> | 150 | <li class="toctree-l1"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> |
| 151 | <li class="toctree-l2"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | 151 | <li class="toctree-l2"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> |
| 152 | <li class="toctree-l2"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | 152 | <li class="toctree-l2"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> |
| 153 | <li class="toctree-l2"><a class="reference internal" href="utils/timeutils.html"><code class="docutils literal"><span class="pre">time</span></code> – Time Utilites</a></li> | 153 | <li class="toctree-l2"><a class="reference internal" href="utils/timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> |
| 154 | </ul> | 154 | </ul> |
| 155 | </li> | 155 | </li> |
| 156 | </ul> | 156 | </ul> |
diff --git a/contributing.html b/contributing.html index e618bf3..79d9616 100644 --- a/contributing.html +++ b/contributing.html | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | 32 | ||
| 33 | <link rel="top" title="EventMQ 0 documentation" href="index.html"/> | 33 | <link rel="top" title="EventMQ 0 documentation" href="index.html"/> |
| 34 | <link rel="next" title="EventMQ Protocol Specification" href="protocol.html"/> | 34 | <link rel="next" title="EventMQ Protocol Specification" href="protocol.html"/> |
| 35 | <link rel="prev" title="messages – Message Utilities" href="utils/messages.html"/> | 35 | <link rel="prev" title="timeutils – Time Utilites" href="utils/timeutils.html"/> |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | <script src="_static/js/modernizr.min.js"></script> | 38 | <script src="_static/js/modernizr.min.js"></script> |
| @@ -160,7 +160,7 @@ | |||
| 160 | <a href="protocol.html" class="btn btn-neutral float-right" title="EventMQ Protocol Specification" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | 160 | <a href="protocol.html" class="btn btn-neutral float-right" title="EventMQ Protocol Specification" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> |
| 161 | 161 | ||
| 162 | 162 | ||
| 163 | <a href="utils/messages.html" class="btn btn-neutral" title="messages – Message Utilities" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | 163 | <a href="utils/timeutils.html" class="btn btn-neutral" title="timeutils – Time Utilites" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> |
| 164 | 164 | ||
| 165 | </div> | 165 | </div> |
| 166 | 166 | ||
diff --git a/exceptions.html b/exceptions.html index 54ea13a..1aa304f 100644 --- a/exceptions.html +++ b/exceptions.html | |||
| @@ -162,6 +162,13 @@ be subclasses of <a class="reference internal" href="#eventmq.exceptions.EventMQ | |||
| 162 | <dd><p>Raised when there is a problem with the structure of the message</p> | 162 | <dd><p>Raised when there is a problem with the structure of the message</p> |
| 163 | </dd></dl> | 163 | </dd></dl> |
| 164 | 164 | ||
| 165 | <dl class="exception"> | ||
| 166 | <dt id="eventmq.exceptions.PeerGoneAwayError"> | ||
| 167 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">PeerGoneAwayError</code><a class="headerlink" href="#eventmq.exceptions.PeerGoneAwayError" title="Permalink to this definition">¶</a></dt> | ||
| 168 | <dd><p>Raised when attempting to contact a peer that no longer exists (i.e. when | ||
| 169 | sending a message to it)</p> | ||
| 170 | </dd></dl> | ||
| 171 | |||
| 165 | </div> | 172 | </div> |
| 166 | 173 | ||
| 167 | 174 | ||
diff --git a/genindex.html b/genindex.html index 5085fff..72ddf99 100644 --- a/genindex.html +++ b/genindex.html | |||
| @@ -130,6 +130,7 @@ | |||
| 130 | 130 | ||
| 131 | <div class="genindex-jumpbox"> | 131 | <div class="genindex-jumpbox"> |
| 132 | <a href="#_"><strong>_</strong></a> | 132 | <a href="#_"><strong>_</strong></a> |
| 133 | | <a href="#A"><strong>A</strong></a> | ||
| 133 | | <a href="#C"><strong>C</strong></a> | 134 | | <a href="#C"><strong>C</strong></a> |
| 134 | | <a href="#E"><strong>E</strong></a> | 135 | | <a href="#E"><strong>E</strong></a> |
| 135 | | <a href="#G"><strong>G</strong></a> | 136 | | <a href="#G"><strong>G</strong></a> |
| @@ -192,10 +193,26 @@ | |||
| 192 | </dl></td> | 193 | </dl></td> |
| 193 | </tr></table> | 194 | </tr></table> |
| 194 | 195 | ||
| 196 | <h2 id="A">A</h2> | ||
| 197 | <table style="width: 100%" class="indextable genindextable"><tr> | ||
| 198 | <td style="width: 33%" valign="top"><dl> | ||
| 199 | |||
| 200 | <dt><a href="router.html#eventmq.router.Router.add_worker">add_worker() (eventmq.router.Router method)</a> | ||
| 201 | </dt> | ||
| 202 | |||
| 203 | </dl></td> | ||
| 204 | </tr></table> | ||
| 205 | |||
| 195 | <h2 id="C">C</h2> | 206 | <h2 id="C">C</h2> |
| 196 | <table style="width: 100%" class="indextable genindextable"><tr> | 207 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 197 | <td style="width: 33%" valign="top"><dl> | 208 | <td style="width: 33%" valign="top"><dl> |
| 198 | 209 | ||
| 210 | <dt><a href="router.html#eventmq.router.Router.clean_up_dead_workers">clean_up_dead_workers() (eventmq.router.Router method)</a> | ||
| 211 | </dt> | ||
| 212 | |||
| 213 | </dl></td> | ||
| 214 | <td style="width: 33%" valign="top"><dl> | ||
| 215 | |||
| 199 | <dt><a href="receiver.html#eventmq.receiver.Receiver.connect">connect() (eventmq.receiver.Receiver method)</a> | 216 | <dt><a href="receiver.html#eventmq.receiver.Receiver.connect">connect() (eventmq.receiver.Receiver method)</a> |
| 200 | </dt> | 217 | </dt> |
| 201 | 218 | ||
| @@ -371,14 +388,10 @@ | |||
| 371 | </dt> | 388 | </dt> |
| 372 | 389 | ||
| 373 | </dl></dd> | 390 | </dl></dd> |
| 374 | |||
| 375 | <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a> | ||
| 376 | </dt> | ||
| 377 | |||
| 378 | </dl></td> | 391 | </dl></td> |
| 379 | <td style="width: 33%" valign="top"><dl> | 392 | <td style="width: 33%" valign="top"><dl> |
| 380 | 393 | ||
| 381 | <dt><a href="router.html#eventmq.router.Router.on_receive_reply">on_receive_reply() (eventmq.router.Router method)</a> | 394 | <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a> |
| 382 | </dt> | 395 | </dt> |
| 383 | 396 | ||
| 384 | 397 | ||
| @@ -400,6 +413,10 @@ | |||
| 400 | </dt> | 413 | </dt> |
| 401 | 414 | ||
| 402 | 415 | ||
| 416 | <dt><a href="exceptions.html#eventmq.exceptions.PeerGoneAwayError">PeerGoneAwayError</a> | ||
| 417 | </dt> | ||
| 418 | |||
| 419 | |||
| 403 | <dt><a href="poller.html#eventmq.poller.Poller.poll">poll() (eventmq.poller.Poller method)</a> | 420 | <dt><a href="poller.html#eventmq.poller.Poller.poll">poll() (eventmq.poller.Poller method)</a> |
| 404 | </dt> | 421 | </dt> |
| 405 | 422 | ||
| @@ -413,6 +430,10 @@ | |||
| 413 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.process_message">process_message() (eventmq.jobmanager.JobManager method)</a> | 430 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.process_message">process_message() (eventmq.jobmanager.JobManager method)</a> |
| 414 | </dt> | 431 | </dt> |
| 415 | 432 | ||
| 433 | |||
| 434 | <dt><a href="router.html#eventmq.router.Router.process_worker_message">process_worker_message() (eventmq.router.Router method)</a> | ||
| 435 | </dt> | ||
| 436 | |||
| 416 | </dl></td> | 437 | </dl></td> |
| 417 | </tr></table> | 438 | </tr></table> |
| 418 | 439 | ||
| @@ -474,6 +495,10 @@ | |||
| 474 | <table style="width: 100%" class="indextable genindextable"><tr> | 495 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 475 | <td style="width: 33%" valign="top"><dl> | 496 | <td style="width: 33%" valign="top"><dl> |
| 476 | 497 | ||
| 498 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.seconds_until">seconds_until() (in module eventmq.utils.timeutils)</a> | ||
| 499 | </dt> | ||
| 500 | |||
| 501 | |||
| 477 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.send">send() (eventmq.utils.classes.ZMQSendMixin method)</a> | 502 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.send">send() (eventmq.utils.classes.ZMQSendMixin method)</a> |
| 478 | </dt> | 503 | </dt> |
| 479 | 504 | ||
diff --git a/jobmanager.html b/jobmanager.html index d5982e8..5f3da63 100644 --- a/jobmanager.html +++ b/jobmanager.html | |||
| @@ -176,7 +176,10 @@ generated.</td> | |||
| 176 | <dl class="method"> | 176 | <dl class="method"> |
| 177 | <dt id="eventmq.jobmanager.JobManager.on_heartbeat"> | 177 | <dt id="eventmq.jobmanager.JobManager.on_heartbeat"> |
| 178 | <code class="descname">on_heartbeat</code><span class="sig-paren">(</span><em>msgid</em>, <em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.on_heartbeat" title="Permalink to this definition">¶</a></dt> | 178 | <code class="descname">on_heartbeat</code><span class="sig-paren">(</span><em>msgid</em>, <em>message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.on_heartbeat" title="Permalink to this definition">¶</a></dt> |
| 179 | <dd></dd></dl> | 179 | <dd><p>a placeholder for a noop command. The actual ‘logic’ for HEARTBEAT is |
| 180 | in <code class="xref py py-meth docutils literal"><span class="pre">self.process_message()</span></code> as every message is counted as a | ||
| 181 | HEARTBEAT</p> | ||
| 182 | </dd></dl> | ||
| 180 | 183 | ||
| 181 | <dl class="method"> | 184 | <dl class="method"> |
| 182 | <dt id="eventmq.jobmanager.JobManager.process_message"> | 185 | <dt id="eventmq.jobmanager.JobManager.process_message"> |
diff --git a/objects.inv b/objects.inv index cdb69ba..5094e55 100644 --- a/objects.inv +++ b/objects.inv | |||
| Binary files differ | |||
diff --git a/protocol.html b/protocol.html index f73208b..1aff716 100644 --- a/protocol.html +++ b/protocol.html | |||
| @@ -255,7 +255,7 @@ | |||
| 255 | <td>Protocol version</td> | 255 | <td>Protocol version</td> |
| 256 | </tr> | 256 | </tr> |
| 257 | <tr class="row-even"><td>2</td> | 257 | <tr class="row-even"><td>2</td> |
| 258 | <td>READY</td> | 258 | <td>REQUEST</td> |
| 259 | <td>command</td> | 259 | <td>command</td> |
| 260 | </tr> | 260 | </tr> |
| 261 | <tr class="row-odd"><td>3</td> | 261 | <tr class="row-odd"><td>3</td> |
diff --git a/receiver.html b/receiver.html index db2bf61..2f53114 100644 --- a/receiver.html +++ b/receiver.html | |||
| @@ -147,11 +147,6 @@ | |||
| 147 | <dt id="eventmq.receiver.Receiver"> | 147 | <dt id="eventmq.receiver.Receiver"> |
| 148 | <em class="property">class </em><code class="descclassname">eventmq.receiver.</code><code class="descname">Receiver</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver" title="Permalink to this definition">¶</a></dt> | 148 | <em class="property">class </em><code class="descclassname">eventmq.receiver.</code><code class="descname">Receiver</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver" title="Permalink to this definition">¶</a></dt> |
| 149 | <dd><p>Receives messages and pass them to a on_recv.</p> | 149 | <dd><p>Receives messages and pass them to a on_recv.</p> |
| 150 | <div class="admonition note"> | ||
| 151 | <p class="first admonition-title">Note</p> | ||
| 152 | <p class="last">Polling with this reciever is currently only available via an eventloop | ||
| 153 | (<code class="xref py py-mod docutils literal"><span class="pre">zmq.eventloop</span></code>).</p> | ||
| 154 | </div> | ||
| 155 | <dl class="attribute"> | 150 | <dl class="attribute"> |
| 156 | <dt id="eventmq.receiver.Receiver.name"> | 151 | <dt id="eventmq.receiver.Receiver.name"> |
| 157 | <code class="descname">name</code><a class="headerlink" href="#eventmq.receiver.Receiver.name" title="Permalink to this definition">¶</a></dt> | 152 | <code class="descname">name</code><a class="headerlink" href="#eventmq.receiver.Receiver.name" title="Permalink to this definition">¶</a></dt> |
| @@ -167,8 +162,7 @@ | |||
| 167 | <dl class="attribute"> | 162 | <dl class="attribute"> |
| 168 | <dt id="eventmq.receiver.Receiver.zsocket"> | 163 | <dt id="eventmq.receiver.Receiver.zsocket"> |
| 169 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.receiver.Receiver.zsocket" title="Permalink to this definition">¶</a></dt> | 164 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.receiver.Receiver.zsocket" title="Permalink to this definition">¶</a></dt> |
| 170 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a> – socket wrapped up in a | 165 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a></p> |
| 171 | <code class="xref py py-class docutils literal"><span class="pre">zmqstream.ZMQStream</span></code></p> | ||
| 172 | </dd></dl> | 166 | </dd></dl> |
| 173 | 167 | ||
| 174 | <dl class="method"> | 168 | <dl class="method"> |
| @@ -189,10 +183,6 @@ generated</li> | |||
| 189 | socket</li> | 183 | socket</li> |
| 190 | <li><strong>socket</strong> (<a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a>) – Should be one of <code class="xref py py-attr docutils literal"><span class="pre">zmq.REP</span></code> or | 184 | <li><strong>socket</strong> (<a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a>) – Should be one of <code class="xref py py-attr docutils literal"><span class="pre">zmq.REP</span></code> or |
| 191 | <code class="xref py py-attr docutils literal"><span class="pre">zmq.ROUTER</span></code>. By default a <cite>ROUTER</cite> is used</li> | 185 | <code class="xref py py-attr docutils literal"><span class="pre">zmq.ROUTER</span></code>. By default a <cite>ROUTER</cite> is used</li> |
| 192 | <li><strong>skip_zmqstream</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – If set to true, skip creating the zmqstream | ||
| 193 | socket. Callable is unused and optional when this is True</li> | ||
| 194 | <li><strong>on_recv</strong> – REQUIRED for zmqstream mode. A function or method to call | ||
| 195 | when a message is received</li> | ||
| 196 | </ul> | 186 | </ul> |
| 197 | </td> | 187 | </td> |
| 198 | </tr> | 188 | </tr> |
diff --git a/router.html b/router.html index 8c8c96b..a98b4c3 100644 --- a/router.html +++ b/router.html | |||
| @@ -147,11 +147,38 @@ | |||
| 147 | <dt id="eventmq.router.Router"> | 147 | <dt id="eventmq.router.Router"> |
| 148 | <em class="property">class </em><code class="descclassname">eventmq.router.</code><code class="descname">Router</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router" title="Permalink to this definition">¶</a></dt> | 148 | <em class="property">class </em><code class="descclassname">eventmq.router.</code><code class="descname">Router</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router" title="Permalink to this definition">¶</a></dt> |
| 149 | <dd><p>A simple router of messages</p> | 149 | <dd><p>A simple router of messages</p> |
| 150 | <p>This router uses tornado’s eventloop.</p> | 150 | <dl class="method"> |
| 151 | <dt id="eventmq.router.Router.add_worker"> | ||
| 152 | <code class="descname">add_worker</code><span class="sig-paren">(</span><em>id</em>, <em>queues=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.add_worker" title="Permalink to this definition">¶</a></dt> | ||
| 153 | <dd><p>Adds a worker to worker queues</p> | ||
| 154 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 155 | <col class="field-name" /> | ||
| 156 | <col class="field-body" /> | ||
| 157 | <tbody valign="top"> | ||
| 158 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 159 | <li><strong>worker_id</strong> – unique id of the worker to add</li> | ||
| 160 | <li><strong>queues</strong> – queue or queues this worker should be a member of</li> | ||
| 161 | </ul> | ||
| 162 | </td> | ||
| 163 | </tr> | ||
| 164 | </tbody> | ||
| 165 | </table> | ||
| 166 | </dd></dl> | ||
| 167 | |||
| 168 | <dl class="method"> | ||
| 169 | <dt id="eventmq.router.Router.clean_up_dead_workers"> | ||
| 170 | <code class="descname">clean_up_dead_workers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.clean_up_dead_workers" title="Permalink to this definition">¶</a></dt> | ||
| 171 | <dd><p>Loops through the worker queues and removes any workers who haven’t | ||
| 172 | responded in HEARTBEAT_TIMEOUT</p> | ||
| 173 | </dd></dl> | ||
| 174 | |||
| 151 | <dl class="method"> | 175 | <dl class="method"> |
| 152 | <dt id="eventmq.router.Router.on_heartbeat"> | 176 | <dt id="eventmq.router.Router.on_heartbeat"> |
| 153 | <code class="descname">on_heartbeat</code><span class="sig-paren">(</span><em>sender</em>, <em>msgid</em>, <em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_heartbeat" title="Permalink to this definition">¶</a></dt> | 177 | <code class="descname">on_heartbeat</code><span class="sig-paren">(</span><em>sender</em>, <em>msgid</em>, <em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_heartbeat" title="Permalink to this definition">¶</a></dt> |
| 154 | <dd></dd></dl> | 178 | <dd><p>a placeholder for a noop command. The actual ‘logic’ for HEARTBEAT is |
| 179 | in <code class="xref py py-meth docutils literal"><span class="pre">self.process_worker_message()</span></code> because any message from a worker | ||
| 180 | counts as a HEARTBEAT</p> | ||
| 181 | </dd></dl> | ||
| 155 | 182 | ||
| 156 | <dl class="method"> | 183 | <dl class="method"> |
| 157 | <dt id="eventmq.router.Router.on_inform"> | 184 | <dt id="eventmq.router.Router.on_inform"> |
| @@ -160,8 +187,16 @@ | |||
| 160 | </dd></dl> | 187 | </dd></dl> |
| 161 | 188 | ||
| 162 | <dl class="method"> | 189 | <dl class="method"> |
| 163 | <dt id="eventmq.router.Router.on_receive_reply"> | 190 | <dt id="eventmq.router.Router.on_receive_request"> |
| 164 | <code class="descname">on_receive_reply</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_receive_reply" title="Permalink to this definition">¶</a></dt> | 191 | <code class="descname">on_receive_request</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_receive_request" title="Permalink to this definition">¶</a></dt> |
| 192 | <dd><p>This function is called when a message comes in from the client socket. | ||
| 193 | It then calls <cite>on_command</cite>. If <cite>on_command</cite> isn’t found, then a | ||
| 194 | warning is created.</p> | ||
| 195 | </dd></dl> | ||
| 196 | |||
| 197 | <dl class="method"> | ||
| 198 | <dt id="eventmq.router.Router.process_worker_message"> | ||
| 199 | <code class="descname">process_worker_message</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.process_worker_message" title="Permalink to this definition">¶</a></dt> | ||
| 165 | <dd><p>This method is called when a message comes in from the worker socket. | 200 | <dd><p>This method is called when a message comes in from the worker socket. |
| 166 | It then calls <cite>on_command</cite>. If <cite>on_command</cite> isn’t found, then a warning | 201 | It then calls <cite>on_command</cite>. If <cite>on_command</cite> isn’t found, then a warning |
| 167 | is created.</p> | 202 | is created.</p> |
| @@ -172,14 +207,6 @@ is created.</p> | |||
| 172 | </dd></dl> | 207 | </dd></dl> |
| 173 | 208 | ||
| 174 | <dl class="method"> | 209 | <dl class="method"> |
| 175 | <dt id="eventmq.router.Router.on_receive_request"> | ||
| 176 | <code class="descname">on_receive_request</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_receive_request" title="Permalink to this definition">¶</a></dt> | ||
| 177 | <dd><p>This function is called when a message comes in from the client socket. | ||
| 178 | It then calls <cite>on_command</cite>. If <cite>on_command</cite> isn’t found, then a | ||
| 179 | warning is created.</p> | ||
| 180 | </dd></dl> | ||
| 181 | |||
| 182 | <dl class="method"> | ||
| 183 | <dt id="eventmq.router.Router.send_ack"> | 210 | <dt id="eventmq.router.Router.send_ack"> |
| 184 | <code class="descname">send_ack</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient</em>, <em>msgid</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_ack" title="Permalink to this definition">¶</a></dt> | 211 | <code class="descname">send_ack</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient</em>, <em>msgid</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_ack" title="Permalink to this definition">¶</a></dt> |
| 185 | <dd><p>Sends an ACK response</p> | 212 | <dd><p>Sends an ACK response</p> |
| @@ -190,6 +217,18 @@ warning is created.</p> | |||
| 190 | <code class="descname">send_heartbeat</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_heartbeat" title="Permalink to this definition">¶</a></dt> | 217 | <code class="descname">send_heartbeat</code><span class="sig-paren">(</span><em>socket</em>, <em>recipient</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_heartbeat" title="Permalink to this definition">¶</a></dt> |
| 191 | <dd><p>Custom send heartbeat method to take into account the recipient that is | 218 | <dd><p>Custom send heartbeat method to take into account the recipient that is |
| 192 | needed when building messages</p> | 219 | needed when building messages</p> |
| 220 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 221 | <col class="field-name" /> | ||
| 222 | <col class="field-body" /> | ||
| 223 | <tbody valign="top"> | ||
| 224 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 225 | <li><strong>socket</strong> (<a class="reference external" href="https://docs.python.org/library/socket.html#module-socket" title="(in Python v2.7)"><em>socket</em></a>) – the socket to send the heartbeat with</li> | ||
| 226 | <li><strong>recipient</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Worker I</li> | ||
| 227 | </ul> | ||
| 228 | </td> | ||
| 229 | </tr> | ||
| 230 | </tbody> | ||
| 231 | </table> | ||
| 193 | </dd></dl> | 232 | </dd></dl> |
| 194 | 233 | ||
| 195 | <dl class="method"> | 234 | <dl class="method"> |
diff --git a/searchindex.js b/searchindex.js index 5b489bc..3c9c761 100644 --- a/searchindex.js +++ b/searchindex.js | |||
| @@ -1 +1 @@ | |||
| Search.setIndex({envversion:46,filenames:["api","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","utils","utils/classes","utils/messages","utils/timeutils"],objects:{"eventmq.exceptions":{EventMQError:[2,5,1,""],InvalidMessageError:[2,5,1,""],MessageError:[2,5,1,""]},"eventmq.jobmanager":{JobManager:[4,4,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[4,2,1,""],on_ack:[4,2,1,""],on_heartbeat:[4,2,1,""],process_message:[4,2,1,""],reset:[4,2,1,""],send_inform:[4,2,1,""],start:[4,2,1,""]},"eventmq.poller":{Poller:[5,4,1,""]},"eventmq.poller.Poller":{"__init__":[5,2,1,""],poll:[5,2,1,""],register:[5,2,1,""],unregister:[5,2,1,""]},"eventmq.receiver":{Receiver:[7,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[7,2,1,""],connect:[7,2,1,""],listen:[7,2,1,""],name:[7,1,1,""],ready:[7,1,1,""],zcontext:[7,1,1,""],zsocket:[7,1,1,""]},"eventmq.router":{Router:[8,4,1,""]},"eventmq.router.Router":{on_heartbeat:[8,2,1,""],on_inform:[8,2,1,""],on_receive_reply:[8,2,1,""],on_receive_request:[8,2,1,""],send_ack:[8,2,1,""],send_heartbeat:[8,2,1,""],send_workers_heartbeats:[8,2,1,""],start:[8,2,1,""]},"eventmq.sender":{Sender:[9,4,1,""]},"eventmq.sender.Sender":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],rebuild:[9,2,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.utils":{classes:[11,0,0,"-"],messages:[12,0,0,"-"],random_characters:[10,3,1,""],timeutils:[13,0,0,"-"]},"eventmq.utils.classes":{HeartbeatMixin:[11,4,1,""],ZMQReceiveMixin:[11,4,1,""],ZMQSendMixin:[11,4,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[11,2,1,""],"__weakref__":[11,1,1,""],is_dead:[11,2,1,""],reset_heartbeat_counters:[11,2,1,""],send_heartbeat:[11,2,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[11,1,1,""],recv:[11,2,1,""],recv_multipart:[11,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[11,1,1,""],send:[11,2,1,""],send_multipart:[11,2,1,""]},"eventmq.utils.messages":{generate_msgid:[12,3,1,""],parse_message:[12,3,1,""],parse_router_message:[12,3,1,""],send_emqp_message:[12,3,1,""],send_emqp_router_message:[12,3,1,""]},"eventmq.utils.timeutils":{monotonic:[13,3,1,""],timestamp:[13,3,1,""]},eventmq:{exceptions:[2,0,0,"-"],jobmanager:[4,0,0,"-"],poller:[5,0,0,"-"],receiver:[7,0,0,"-"],router:[8,0,0,"-"],sender:[9,0,0,"-"],utils:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class","5":"py:exception"},terms:{"0mq":[6,11],"__init__":[4,5,7,9,11],"__weakref__":11,"_empty_":6,"_headers_":6,"_issu":[],"_msg_":6,"_msgid_":6,"_queue_name_":6,"_recipient_id":11,"_sourc":[],"_topic_name_":6,"_unix_ts_":6,"abstract":6,"case":6,"class":[],"default":[4,6,7,9],"float":11,"function":[7,8],"import":1,"int":5,"long":5,"new":8,"public":6,"return":[1,5,7,9,10,11,12],"true":[6,7,9,11],"while":6,about:[4,6],absolut:1,accept:6,account:[8,12],ack:[6,8],ackd_msgid:4,acknowledg:6,act:6,actual:4,addr:[4,7,9],address:[],after:6,agre:6,all:[2,4,6,7,9,11],allow:6,alpha:6,and_data:12,ani:6,api:[],appear:5,applic:6,architectur:[],aren:[],arg:[4,5,7,8,9,11,12],around:[],attr:5,automat:11,avail:[7,9],awaiting_ack:4,back:[6,11],backend_addr:8,base:[2,5],basi:6,been:11,befor:[5,6],begin:[4,8],belong:6,below:6,between:6,bool:[7,9,11],both:[5,6],broker:6,build:[8,9],built:6,bulid:7,call:[4,5,7,8],callabl:7,can:[6,12],chang:6,charact:10,check:[7,9,11],client:[],close:4,code:[1,3],com:[],come:8,comma:6,command:[4,6,11,12],complet:6,compon:6,connction:[7,9],connect:[4,6,7,8,9,11,12],consist:6,contain:[6,10],content:[],context:[7,9],convers:6,convienc:[5,11],count:6,counter:11,creat:[7,8,9,10],csv:6,current:[4,7,9],custom:8,data:12,deal:10,dealer:9,death:11,debug:6,def:8,defeat:6,defin:[6,7,9,11],deliv:6,describ:6,descript:6,detail:6,detect:6,determin:6,devic:[5,11,12],dialog:6,dict:5,dictionari:[5,6],differ:1,directli:[5,11],disconnect:6,distribut:6,doesn:5,dure:9,either:6,els:[1,6],empti:6,emqp:[],encount:2,end:11,enderlab:[],ensur:[4,6],even:6,event:5,eventloop:[4,7,8,9],eventmqerror:2,except:[],execut:6,explicitli:11,expos:4,extra:6,fail:6,fair:6,fals:[4,6,7,9,11],few:1,field:6,find:11,finish:6,first:6,fit:6,flag:5,follow:6,form:4,format:[6,12],found:8,foundat:6,frame:[],free:6,from:[2,4,5,6,8],frontend_addr:8,gener:[4,5,6,7,9,12],generate_msgid:12,github:[],gmtime:[],gnu:6,goal:[],good:11,guarante:6,guarente:[],hand:10,handl:[6,8],happen:[5,9],have:[11,12],header:[],heartbeat:[],heartbeati:11,heartbeatmixin:11,heavi:6,here:6,hope:6,how:5,html:6,http:6,ident:[6,11],ietf:6,implement:[6,11],impli:6,includ:6,incom:[],index:3,inform:[4,6,8],inherit:2,insert:[6,11],instal:1,instanc:4,interpret:6,interv:6,invalidmessageerror:2,is_dead:11,isn:8,issu:[1,3,6],iter:5,job:[],jobmanag:[],kei:[5,6],kwarg:[4,5,7,8,9,11],languag:[],later:6,least:6,leav:6,length:10,let:6,licens:[],like:[10,11],list:11,listen:[4,7,8,9],look:11,loop:5,mai:[6,11],main:4,make:10,malform:2,manag:[],mani:[6,9],manual:6,master:6,merchant:6,messag:[],message_bodi:12,message_id:12,messageerror:2,met:11,meta:12,method:[4,5,7,8,11],mode:7,modifi:6,modul:[3,10],monoton:[11,13],more:[6,10],msg:[4,6,8,12],msg_id:[],msgid:[4,8],multipart:[6,11],must:[6,11],name:[4,6,7,8,9],need:[8,9],next:5,none:[7,9,11,12],note:[4,7,9],now:11,object:[5,11],occur:11,on_ack:4,on_command:[4,8],on_heartbeat:[4,8],on_inform:8,on_receive_repli:8,on_receive_request:8,on_recv:7,onc:6,onli:[7,9],onlin:8,option:[4,6,7,9,12],org:6,orient:6,origin:6,other:6,otherwis:[4,7,9,11],out:11,own:11,page:3,param:11,paramet:[4,5,7,8,9,11,12],pars:[4,12],parse_messag:12,parse_router_messag:12,part:[6,12],particular:[6,9],pass:[6,7,8],peer:[6,11],pictur:6,poll:[5,7,9],poller:[],pollin:5,pollout:5,pool:6,portion:4,possibl:1,practic:11,prefix:12,prepend:6,pretti:6,problem:2,process:[4,6,9],process_messag:4,prop:[],properti:[7,9],protocol:[],protocol_vers:11,provid:[8,11],pub:6,publish:6,purpos:6,queue:[6,8],rais:[2,7,9,12],random:[10,12],random_charact:10,raw:11,raw_messag:[],readi:[6,7,9],rebuild:9,receiv:[],recent:6,reciev:7,recip:[],recipi:[8,11,12],recipient_id:12,recommend:6,reconnect:9,recv:11,recv_multipart:11,redistribut:6,refer:11,regist:[5,8],regular:6,rel:1,reliabl:6,remain:5,remov:6,reopen:4,rep:7,repli:[6,12],req:9,request:[],requir:[6,7],requri:6,reset:[4,11],reset_heartbeat_count:11,resourc:[4,6],respond:6,respons:[4,7,8,9],restart:[6,9],retri:6,rfc2119:6,rfc:6,robin:6,roughli:9,round:6,rout:[6,8],router:[],run:4,same:9,search:3,see:[5,6],self:9,send:[4,6,8,9,11,12],send_ack:8,send_emqp_messag:12,send_emqp_router_messag:12,send_heartbeat:[8,11],send_inform:4,send_messag:[],send_multipart:11,send_raw:[],send_workers_heartbeat:8,sender:[],sender_id:12,sent:[6,11],seper:6,serv:6,server:[4,6],servic:6,set:[4,5,6,7,9,11],shall:6,should:[2,5,6,7,9],shown:6,simpl:[8,10],singl:6,skip:[7,9,11],skip_zmqstream:[7,9],socket:[4,5,6,7,8,9,11,12],softwar:6,some:[10,11,12],someon:6,someth:[9,11],somewher:1,sourc:[1,3],spawn:4,specif:[],specifi:[6,10,11],start:[4,7,8,9],state:11,statu:6,stop:6,str:[4,7,8,9,11,12],string:[4,6,7,8,9,12],structur:2,sub:6,subclass:2,subject:6,subset:6,success:6,system:1,take:[4,8,9,12],task:4,tcp:[4,8],term:6,thei:[],them:7,thi:[2,4,5,6,7,8,9,10,11],thing:[4,9,10,11,12],threshold:11,through:6,time:6,timeout:5,timestamp:[6,13],timeutil:11,timezon:[],tip:1,tool:6,topic:[],topolog:[],tornado:[4,8],trace:6,track:11,tupl:[5,11,12],type:[6,7,9],typecast:5,typeerror:7,undefin:5,under:6,uniqu:[4,6],univers:[],unix:6,unless:[4,7,9],unregist:5,unus:7,upon:6,usual:8,utilit:[],uuid:[4,7,9],valid:6,valu:[5,6,11,12],variabl:11,version:[1,6,11],via:[7,9],wait:5,warn:8,warranti:6,weak:11,web:6,well:6,when:[1,2,6,7,8,9,11],where:6,which:6,wish:12,without:[6,9],word:6,work:[1,11],worker:[],worri:6,wrap:[7,9],you:[1,6,9,11,12],your:[6,11],zcontext:[7,9],zeromq:6,zmq:[5,6,7,9,11,12],zmqreceivemixin:11,zmqsendmixin:11,zmqstream:[7,9],zsocket:[7,9]},titles:["API Documentation","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> – Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> – Job Manager","<code class=\"docutils literal\"><span class=\"pre\">poller</span></code> – Poller","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> – Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> – Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> – Sender","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> – Utilities","<code class=\"docutils literal\"><span class=\"pre\">classes</span></code> – Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> – Message Utilities","<code class=\"docutils literal\"><span class=\"pre\">timeutils</span></code> – Time Utilites"],titleterms:{"class":11,address:6,api:0,architectur:6,client:6,contribut:1,document:[0,3],emqp:6,eventmq:[1,3,6],except:2,frame:6,global:6,goal:6,header:6,heartbeat:6,indic:3,job:4,jobmanag:4,languag:6,licens:6,manag:4,messag:12,poller:5,protocol:6,receiv:7,request:6,router:[6,8],sender:9,specif:6,tabl:3,time:13,timeutil:13,topolog:6,util:[10,11,12],utilit:13,welcom:[],worker:6}}) \ No newline at end of file | Search.setIndex({envversion:46,filenames:["api","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","utils","utils/classes","utils/messages","utils/timeutils"],objects:{"eventmq.exceptions":{EventMQError:[2,5,1,""],InvalidMessageError:[2,5,1,""],MessageError:[2,5,1,""],PeerGoneAwayError:[2,5,1,""]},"eventmq.jobmanager":{JobManager:[4,4,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[4,2,1,""],on_ack:[4,2,1,""],on_heartbeat:[4,2,1,""],process_message:[4,2,1,""],reset:[4,2,1,""],send_inform:[4,2,1,""],start:[4,2,1,""]},"eventmq.poller":{Poller:[5,4,1,""]},"eventmq.poller.Poller":{"__init__":[5,2,1,""],poll:[5,2,1,""],register:[5,2,1,""],unregister:[5,2,1,""]},"eventmq.receiver":{Receiver:[7,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[7,2,1,""],connect:[7,2,1,""],listen:[7,2,1,""],name:[7,1,1,""],ready:[7,1,1,""],zcontext:[7,1,1,""],zsocket:[7,1,1,""]},"eventmq.router":{Router:[8,4,1,""]},"eventmq.router.Router":{add_worker:[8,2,1,""],clean_up_dead_workers:[8,2,1,""],on_heartbeat:[8,2,1,""],on_inform:[8,2,1,""],on_receive_request:[8,2,1,""],process_worker_message:[8,2,1,""],send_ack:[8,2,1,""],send_heartbeat:[8,2,1,""],send_workers_heartbeats:[8,2,1,""],start:[8,2,1,""]},"eventmq.sender":{Sender:[9,4,1,""]},"eventmq.sender.Sender":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],rebuild:[9,2,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.utils":{classes:[11,0,0,"-"],messages:[12,0,0,"-"],random_characters:[10,3,1,""],timeutils:[13,0,0,"-"]},"eventmq.utils.classes":{HeartbeatMixin:[11,4,1,""],ZMQReceiveMixin:[11,4,1,""],ZMQSendMixin:[11,4,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[11,2,1,""],"__weakref__":[11,1,1,""],is_dead:[11,2,1,""],reset_heartbeat_counters:[11,2,1,""],send_heartbeat:[11,2,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[11,1,1,""],recv:[11,2,1,""],recv_multipart:[11,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[11,1,1,""],send:[11,2,1,""],send_multipart:[11,2,1,""]},"eventmq.utils.messages":{generate_msgid:[12,3,1,""],parse_message:[12,3,1,""],parse_router_message:[12,3,1,""],send_emqp_message:[12,3,1,""],send_emqp_router_message:[12,3,1,""]},"eventmq.utils.timeutils":{monotonic:[13,3,1,""],seconds_until:[13,3,1,""],timestamp:[13,3,1,""]},eventmq:{exceptions:[2,0,0,"-"],jobmanager:[4,0,0,"-"],poller:[5,0,0,"-"],receiver:[7,0,0,"-"],router:[8,0,0,"-"],sender:[9,0,0,"-"],utils:[10,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class","5":"py:exception"},terms:{"0mq":[6,11],"__init__":[4,5,7,9,11],"__weakref__":11,"_empty_":6,"_headers_":6,"_issu":[],"_msg_":6,"_msgid_":6,"_queue_name_":6,"_recipient_id":11,"_sourc":[],"_topic_name_":6,"_unix_ts_":6,"abstract":6,"case":[6,13],"class":[],"default":[4,6,7,9],"float":[11,13],"function":8,"import":1,"int":5,"long":5,"new":8,"public":6,"return":[1,5,7,9,10,11,12,13],"true":[6,7,9,11],"while":6,about:[4,6],absolut:1,accept:6,account:[8,12],ack:[6,8],ackd_msgid:4,acknowledg:6,act:6,actual:[4,8],add:8,add_work:8,addr:[4,7,9],address:[],after:6,agre:6,all:[2,4,6,7,9,11],allow:6,alpha:6,and_data:12,ani:[6,8],api:[],appear:5,applic:6,architectur:[],aren:[],arg:[4,5,7,8,9,11],arithmet:13,around:[],attempt:2,attr:5,automat:11,avail:[],awaiting_ack:4,back:[6,11],backend_addr:8,base:[2,5],basi:6,becaus:8,been:11,befor:[5,6],begin:[4,8],belong:6,below:6,between:6,bool:[7,9,11],boot:13,both:[5,6],broker:6,build:[8,9],built:6,bulid:7,calcul:13,call:[4,5,8],callabl:7,can:[6,12],chang:6,charact:10,check:[7,9,11],clean_up_dead_work:8,client:[],close:[4,13],code:[1,3],com:[],come:8,comma:6,command:[4,6,8,11,12],complet:6,compon:6,connction:[7,9],connect:[4,6,7,8,9,11,12],consist:6,contact:2,contain:[6,10],content:[],context:[7,9],convers:6,convienc:[5,11],count:[4,6,8,13],counter:11,creat:[8,9,10],csv:6,current:4,custom:8,data:12,deal:10,dealer:9,death:11,debug:6,def:8,defeat:6,defin:[6,7,9,11],deliv:6,describ:6,descript:6,detail:6,detect:6,determin:6,devic:[5,11,12],dialog:6,dict:5,dictionari:[5,6],differ:1,directli:[5,11],disconnect:6,distribut:6,doesn:5,down:13,dst:13,dure:9,either:6,els:[1,6],empti:6,emqp:[],encount:2,end:11,enderlab:[],ensur:[4,6],even:6,event:5,eventloop:4,eventmqerror:2,everi:4,except:[],execut:6,exist:2,explicitli:11,expos:4,extra:6,fail:6,fair:6,fals:[4,6,7,9,11],few:1,field:6,find:11,finish:6,first:6,fit:6,flag:5,follow:6,form:4,format:[6,12],found:8,foundat:6,frame:[],free:6,from:[2,4,5,6,8,13],frontend_addr:8,gener:[4,5,6,7,9,12],generate_msgid:12,github:[],gmtime:[],gnu:6,goal:[],good:11,guarante:6,guarente:[],hand:10,handl:[6,8],happen:[5,9],have:[11,12],haven:8,header:[],heartbeat:[],heartbeat_timeout:8,heartbeati:11,heartbeatmixin:11,heavi:6,here:6,hope:6,how:5,html:6,http:6,ident:[6,11],ietf:6,implement:[6,11],impli:6,includ:6,incom:[],index:3,inform:[4,6,8],inherit:2,insert:[6,11],instal:1,instanc:4,interpret:6,interv:6,invalidmessageerror:2,is_dead:11,isn:8,issu:[1,3,6],iter:5,job:[],jobmanag:[],kei:[5,6],kwarg:[4,5,7,8,9,11],languag:[],later:6,least:6,leav:6,length:10,let:6,licens:[],like:[10,11],list:11,listen:[4,7,8,9],logic:[4,8],longer:2,look:11,loop:[5,8],mai:[6,11],main:4,make:10,malform:2,manag:[],mani:[6,9],manual:6,master:6,member:8,merchant:6,mess:13,messag:[],message_bodi:12,message_id:12,messageerror:2,met:11,meta:12,method:[4,5,8,11],mode:[],modifi:6,modul:[3,10],monoton:[11,13],more:[6,10],msg:[4,6,8,12],msg_id:[],msgid:[4,8],multipart:[6,11],must:[6,11],name:[4,6,7,8,9],need:[8,9],never:13,next:5,none:[7,8,9,11,12],noop:[4,8],note:[4,7,9],now:11,number:13,object:[5,11],occur:11,on_ack:4,on_command:[4,8],on_heartbeat:[4,8],on_inform:8,on_receive_repli:[],on_receive_request:8,on_recv:7,onc:6,onli:[],onlin:8,option:[4,6,7,9,12],org:6,orient:6,origin:6,other:6,otherwis:[4,7,9,11],out:11,own:11,page:3,param:[],paramet:[4,5,7,8,9,11,12],pars:[4,12],parse_messag:12,parse_router_messag:12,part:[6,12],particular:[6,9],pass:[6,7,8],peer:[2,6,11],peergoneawayerror:2,pictur:6,placehold:[4,8],poll:5,poller:[],pollin:5,pollout:5,pool:6,portion:4,possibl:1,practic:11,prefix:12,prepend:6,pretti:6,problem:2,process:[4,6,9],process_messag:4,process_worker_messag:8,prop:[],properti:[7,9],protocol:[],protocol_vers:11,provid:[8,11],pub:6,publish:6,purpos:6,queue:[6,8],rais:[2,7,9,12],random:[10,12],random_charact:10,raw:11,raw_messag:[],readi:[6,7,9],rebuild:9,receiv:[],recent:6,reciev:[],recip:[],recipi:[8,11,12],recipient_id:12,recommend:6,reconnect:9,recv:11,recv_multipart:11,redistribut:6,refer:11,regist:[5,8],regular:6,rel:1,reliabl:6,remain:5,remov:[6,8],reopen:4,rep:7,repli:[6,12],req:9,request:[],requir:6,requri:6,reset:[4,11],reset_heartbeat_count:11,resourc:[4,6],respond:[6,8],respons:[4,7,8,9],restart:[6,9],retri:6,rfc2119:6,rfc:6,robin:6,roughli:9,round:6,rout:[6,8],router:[],run:4,same:9,search:3,second:13,seconds_until:13,see:[5,6],self:[4,8,9],send:[2,4,6,8,9,11,12],send_ack:8,send_emqp_messag:12,send_emqp_router_messag:12,send_heartbeat:[8,11],send_inform:4,send_messag:[],send_multipart:11,send_raw:[],send_workers_heartbeat:8,sender:[],sender_id:12,sent:[6,11],seper:6,serv:6,server:[4,6],servic:6,set:[4,5,6,9,11],shall:6,should:[2,5,6,7,8,9],shown:6,simpl:[8,10],sinc:13,singl:6,skip:[9,11],skip_zmqstream:9,socket:[4,5,6,7,8,9,11,12],softwar:6,some:[10,11,12],someon:6,someth:[9,11,13],somewher:1,sourc:[1,3],spawn:4,specif:[],specifi:[6,10,11],start:[4,7,8,9],state:11,statu:6,stop:6,str:[4,7,8,9,10,11,12],string:[4,6,7,8,9,12],structur:2,sub:6,subclass:2,subject:6,subset:6,subtract:13,success:6,system:1,take:[4,8,9,12],task:4,tcp:[4,8],term:6,thei:[],them:7,thi:[2,4,5,6,7,8,9,10,11,13],thing:[4,9,10,11,12],threshold:11,through:[6,8],time:[],timeout:5,timestamp:[6,13],timeutil:[],timezon:[],tip:1,tool:6,topic:[],topolog:[],tornado:4,trace:6,track:11,tupl:[5,11,12],type:[6,7,9,10,11],typecast:5,typeerror:7,undefin:5,under:6,uniqu:[4,6,8],univers:[],unix:6,unless:[4,7,9],unregist:5,until:13,unus:[],upon:6,usual:8,utilit:[],uuid:[4,7,9],valid:6,valu:[5,6,11,12,13],variabl:11,version:[1,6,11],via:[],wait:5,warn:8,warranti:6,weak:11,web:6,well:6,when:[1,2,6,7,8,9,11],where:[6,13],which:6,who:8,wish:12,without:[6,9],word:6,work:[1,11],worker:[],worker_id:8,worri:6,would:13,wrap:[],you:[1,6,9,11,12],your:[6,11],zcontext:[7,9],zeromq:6,zmq:[5,6,7,9,11,12],zmqreceivemixin:11,zmqsendmixin:11,zmqstream:9,zsocket:[7,9]},titles:["API Documentation","Contributing to EventMQ","<code class=\"docutils literal\"><span class=\"pre\">exceptions</span></code> – Exceptions","EventMQ Documentation","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> – Job Manager","<code class=\"docutils literal\"><span class=\"pre\">poller</span></code> – Poller","EventMQ Protocol Specification","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> – Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> – Router","<code class=\"docutils literal\"><span class=\"pre\">sender</span></code> – Sender","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> – Utilities","<code class=\"docutils literal\"><span class=\"pre\">classes</span></code> – Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> – Message Utilities","<code class=\"docutils literal\"><span class=\"pre\">timeutils</span></code> – Time Utilites"],titleterms:{"class":11,address:6,api:0,architectur:6,client:6,contribut:1,document:[0,3],emqp:6,eventmq:[1,3,6],except:2,frame:6,global:6,goal:6,header:6,heartbeat:6,indic:3,job:4,jobmanag:4,languag:6,licens:6,manag:4,messag:12,poller:5,protocol:6,receiv:7,request:6,router:[6,8],sender:9,specif:6,tabl:3,time:13,timeutil:13,topolog:6,util:[10,11,12],utilit:13,welcom:[],worker:6}}) \ No newline at end of file | ||
diff --git a/sender.html b/sender.html index 9e4c0b6..d9463d4 100644 --- a/sender.html +++ b/sender.html | |||
| @@ -147,11 +147,6 @@ | |||
| 147 | <dt id="eventmq.sender.Sender"> | 147 | <dt id="eventmq.sender.Sender"> |
| 148 | <em class="property">class </em><code class="descclassname">eventmq.sender.</code><code class="descname">Sender</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender" title="Permalink to this definition">¶</a></dt> | 148 | <em class="property">class </em><code class="descclassname">eventmq.sender.</code><code class="descname">Sender</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender" title="Permalink to this definition">¶</a></dt> |
| 149 | <dd><p>Sends messages to a particular socket</p> | 149 | <dd><p>Sends messages to a particular socket</p> |
| 150 | <div class="admonition note"> | ||
| 151 | <p class="first admonition-title">Note</p> | ||
| 152 | <p class="last">Polling with this sender is currently only available via an eventloop | ||
| 153 | (<code class="xref py py-mod docutils literal"><span class="pre">zmq.eventloop</span></code>)</p> | ||
| 154 | </div> | ||
| 155 | <dl class="attribute"> | 150 | <dl class="attribute"> |
| 156 | <dt id="eventmq.sender.Sender.name"> | 151 | <dt id="eventmq.sender.Sender.name"> |
| 157 | <code class="descname">name</code><a class="headerlink" href="#eventmq.sender.Sender.name" title="Permalink to this definition">¶</a></dt> | 152 | <code class="descname">name</code><a class="headerlink" href="#eventmq.sender.Sender.name" title="Permalink to this definition">¶</a></dt> |
| @@ -167,8 +162,7 @@ | |||
| 167 | <dl class="attribute"> | 162 | <dl class="attribute"> |
| 168 | <dt id="eventmq.sender.Sender.zsocket"> | 163 | <dt id="eventmq.sender.Sender.zsocket"> |
| 169 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.sender.Sender.zsocket" title="Permalink to this definition">¶</a></dt> | 164 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.sender.Sender.zsocket" title="Permalink to this definition">¶</a></dt> |
| 170 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a> – socket wrapped up in a | 165 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a></p> |
| 171 | <code class="xref py py-class docutils literal"><span class="pre">zmqstream.ZMQStream</span></code></p> | ||
| 172 | </dd></dl> | 166 | </dd></dl> |
| 173 | 167 | ||
| 174 | <dl class="method"> | 168 | <dl class="method"> |
| @@ -159,7 +159,16 @@ like creating message more simple.</p> | |||
| 159 | <dl class="function"> | 159 | <dl class="function"> |
| 160 | <dt id="eventmq.utils.random_characters"> | 160 | <dt id="eventmq.utils.random_characters"> |
| 161 | <code class="descclassname">eventmq.utils.</code><code class="descname">random_characters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.random_characters" title="Permalink to this definition">¶</a></dt> | 161 | <code class="descclassname">eventmq.utils.</code><code class="descname">random_characters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.random_characters" title="Permalink to this definition">¶</a></dt> |
| 162 | <dd><p>Returns some random characters of a specified length</p> | 162 | <dd><table class="docutils field-list" frame="void" rules="none"> |
| 163 | <col class="field-name" /> | ||
| 164 | <col class="field-body" /> | ||
| 165 | <tbody valign="top"> | ||
| 166 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">some random characters of a specified length</td> | ||
| 167 | </tr> | ||
| 168 | <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)">str</a></td> | ||
| 169 | </tr> | ||
| 170 | </tbody> | ||
| 171 | </table> | ||
| 163 | </dd></dl> | 172 | </dd></dl> |
| 164 | 173 | ||
| 165 | </div> | 174 | </div> |
diff --git a/utils/classes.html b/utils/classes.html index 7e3ebcd..15ed5e6 100644 --- a/utils/classes.html +++ b/utils/classes.html | |||
| @@ -93,7 +93,7 @@ | |||
| 93 | <li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> | 93 | <li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> |
| 94 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | 94 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> |
| 95 | <li class="toctree-l3"><a class="reference internal" href="messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | 95 | <li class="toctree-l3"><a class="reference internal" href="messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> |
| 96 | <li class="toctree-l3"><a class="reference internal" href="timeutils.html"><code class="docutils literal"><span class="pre">time</span></code> – Time Utilites</a></li> | 96 | <li class="toctree-l3"><a class="reference internal" href="timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> |
| 97 | </ul> | 97 | </ul> |
| 98 | </li> | 98 | </li> |
| 99 | </ul> | 99 | </ul> |
| @@ -169,21 +169,23 @@ | |||
| 169 | <dl class="method"> | 169 | <dl class="method"> |
| 170 | <dt id="eventmq.utils.classes.HeartbeatMixin.is_dead"> | 170 | <dt id="eventmq.utils.classes.HeartbeatMixin.is_dead"> |
| 171 | <code class="descname">is_dead</code><span class="sig-paren">(</span><em>now=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.HeartbeatMixin.is_dead" title="Permalink to this definition">¶</a></dt> | 171 | <code class="descname">is_dead</code><span class="sig-paren">(</span><em>now=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.HeartbeatMixin.is_dead" title="Permalink to this definition">¶</a></dt> |
| 172 | <dd><p>Checks the counters for the heartbeats to find out if the thresholds | 172 | <dd><p>Checks the heartbeat counters to find out if the thresholds have been |
| 173 | have been met.</p> | 173 | met.</p> |
| 174 | <table class="docutils field-list" frame="void" rules="none"> | 174 | <table class="docutils field-list" frame="void" rules="none"> |
| 175 | <col class="field-name" /> | 175 | <col class="field-name" /> |
| 176 | <col class="field-body" /> | 176 | <col class="field-body" /> |
| 177 | <tbody valign="top"> | 177 | <tbody valign="top"> |
| 178 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>now</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#float" title="(in Python v2.7)"><em>float</em></a>) – The time to use to check if death has occurred. If</td> | 178 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>now</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#float" title="(in Python v2.7)"><em>float</em></a>) – The time to use to check if death has occurred. If |
| 179 | this value is None, then <code class="xref py py-func docutils literal"><span class="pre">utils.timeutils.monotonic()</span></code> | ||
| 180 | is used.</td> | ||
| 181 | </tr> | ||
| 182 | <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">True if the connection to the peer has died, otherwise | ||
| 183 | False</td> | ||
| 184 | </tr> | ||
| 185 | <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/library/functions.html#bool" title="(in Python v2.7)">bool</a></td> | ||
| 179 | </tr> | 186 | </tr> |
| 180 | </tbody> | 187 | </tbody> |
| 181 | </table> | 188 | </table> |
| 182 | <p>:param this value is None, then <code class="xref py py-func docutils literal"><span class="pre">utils.timeutils.monotonic()</span></code> is used.:</p> | ||
| 183 | <dl class="docutils"> | ||
| 184 | <dt>Returns (bool) True if the connection to the peer has died, otherwise</dt> | ||
| 185 | <dd>False</dd> | ||
| 186 | </dl> | ||
| 187 | </dd></dl> | 189 | </dd></dl> |
| 188 | 190 | ||
| 189 | <dl class="method"> | 191 | <dl class="method"> |
diff --git a/utils/messages.html b/utils/messages.html index c0d4e60..347920b 100644 --- a/utils/messages.html +++ b/utils/messages.html | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | 32 | ||
| 33 | <link rel="top" title="EventMQ 0 documentation" href="../index.html"/> | 33 | <link rel="top" title="EventMQ 0 documentation" href="../index.html"/> |
| 34 | <link rel="up" title="utils – Utilities" href="../utils.html"/> | 34 | <link rel="up" title="utils – Utilities" href="../utils.html"/> |
| 35 | <link rel="next" title="Contributing to EventMQ" href="../contributing.html"/> | 35 | <link rel="next" title="timeutils – Time Utilites" href="timeutils.html"/> |
| 36 | <link rel="prev" title="classes – Utility Classes" href="classes.html"/> | 36 | <link rel="prev" title="classes – Utility Classes" href="classes.html"/> |
| 37 | 37 | ||
| 38 | 38 | ||
| @@ -93,6 +93,7 @@ | |||
| 93 | <li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> | 93 | <li class="toctree-l2 current"><a class="reference internal" href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> |
| 94 | <li class="toctree-l3"><a class="reference internal" href="classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | 94 | <li class="toctree-l3"><a class="reference internal" href="classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> |
| 95 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | 95 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> |
| 96 | <li class="toctree-l3"><a class="reference internal" href="timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> | ||
| 96 | </ul> | 97 | </ul> |
| 97 | </li> | 98 | </li> |
| 98 | </ul> | 99 | </ul> |
| @@ -200,9 +201,20 @@ parts.</p> | |||
| 200 | <dt id="eventmq.utils.messages.send_emqp_message"> | 201 | <dt id="eventmq.utils.messages.send_emqp_message"> |
| 201 | <code class="descclassname">eventmq.utils.messages.</code><code class="descname">send_emqp_message</code><span class="sig-paren">(</span><em>socket</em>, <em>command</em>, <em>message=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.send_emqp_message" title="Permalink to this definition">¶</a></dt> | 202 | <code class="descclassname">eventmq.utils.messages.</code><code class="descname">send_emqp_message</code><span class="sig-paren">(</span><em>socket</em>, <em>command</em>, <em>message=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.messages.send_emqp_message" title="Permalink to this definition">¶</a></dt> |
| 202 | <dd><p>Formats and sends an eMQP message</p> | 203 | <dd><p>Formats and sends an eMQP message</p> |
| 203 | <p>Args:</p> | 204 | <table class="docutils field-list" frame="void" rules="none"> |
| 205 | <col class="field-name" /> | ||
| 206 | <col class="field-body" /> | ||
| 207 | <tbody valign="top"> | ||
| 208 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 209 | <li><strong>socket</strong> – </li> | ||
| 210 | <li><strong>command</strong> – </li> | ||
| 211 | <li><strong>message</strong> – </li> | ||
| 212 | </ul> | ||
| 213 | </td> | ||
| 214 | </tr> | ||
| 215 | </tbody> | ||
| 216 | </table> | ||
| 204 | <p>Raises:</p> | 217 | <p>Raises:</p> |
| 205 | <p>Returns</p> | ||
| 206 | </dd></dl> | 218 | </dd></dl> |
| 207 | 219 | ||
| 208 | <dl class="function"> | 220 | <dl class="function"> |
| @@ -237,7 +249,7 @@ used by a <code class="xref py py-attr docutils literal"><span class="pre">zmq.R | |||
| 237 | 249 | ||
| 238 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | 250 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> |
| 239 | 251 | ||
| 240 | <a href="../contributing.html" class="btn btn-neutral float-right" title="Contributing to EventMQ" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | 252 | <a href="timeutils.html" class="btn btn-neutral float-right" title="timeutils – Time Utilites" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> |
| 241 | 253 | ||
| 242 | 254 | ||
| 243 | <a href="classes.html" class="btn btn-neutral" title="classes – Utility Classes" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | 255 | <a href="classes.html" class="btn btn-neutral" title="classes – Utility Classes" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> |
diff --git a/utils/timeutils.html b/utils/timeutils.html index 3f5a73e..fc44e97 100644 --- a/utils/timeutils.html +++ b/utils/timeutils.html | |||
| @@ -152,7 +152,17 @@ | |||
| 152 | <dl class="function"> | 152 | <dl class="function"> |
| 153 | <dt id="eventmq.utils.timeutils.monotonic"> | 153 | <dt id="eventmq.utils.timeutils.monotonic"> |
| 154 | <code class="descclassname">eventmq.utils.timeutils.</code><code class="descname">monotonic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.timeutils.monotonic" title="Permalink to this definition">¶</a></dt> | 154 | <code class="descclassname">eventmq.utils.timeutils.</code><code class="descname">monotonic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.timeutils.monotonic" title="Permalink to this definition">¶</a></dt> |
| 155 | <dd></dd></dl> | 155 | <dd><p>Returns (float) seconds since boot, or something close to it. This value |
| 156 | will never count down so it’s useful for cases where DST would mess up | ||
| 157 | time.time() arithmetic (e.g. heartbeats).</p> | ||
| 158 | </dd></dl> | ||
| 159 | |||
| 160 | <dl class="function"> | ||
| 161 | <dt id="eventmq.utils.timeutils.seconds_until"> | ||
| 162 | <code class="descclassname">eventmq.utils.timeutils.</code><code class="descname">seconds_until</code><span class="sig-paren">(</span><em>ts</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.timeutils.seconds_until" title="Permalink to this definition">¶</a></dt> | ||
| 163 | <dd><p>Calculates the number of seconds until <cite>ts</cite> by subtracting it from | ||
| 164 | time.time()</p> | ||
| 165 | </dd></dl> | ||
| 156 | 166 | ||
| 157 | <dl class="function"> | 167 | <dl class="function"> |
| 158 | <dt id="eventmq.utils.timeutils.timestamp"> | 168 | <dt id="eventmq.utils.timeutils.timestamp"> |