diff options
| author | jason | 2016-04-25 10:52:55 -0600 |
|---|---|---|
| committer | jason | 2016-04-25 10:52:55 -0600 |
| commit | 8fc4bcc96063b29d0726feb7a72b28acf01b109c (patch) | |
| tree | d36a210c5bf41b17baa1a9679d0417e76b116108 | |
| parent | f4e28cc66b595ebfa78ff7764a032fa7deaaed85 (diff) | |
| download | eventmq-8fc4bcc96063b29d0726feb7a72b28acf01b109c.tar.gz eventmq-8fc4bcc96063b29d0726feb7a72b28acf01b109c.zip | |
updates
| -rw-r--r-- | _sources/api.txt | 2 | ||||
| -rw-r--r-- | _sources/protocol.txt | 2 | ||||
| -rw-r--r-- | _sources/utils/devices.txt | 3 | ||||
| -rw-r--r-- | _sources/utils/index.txt | 3 | ||||
| -rw-r--r-- | _sources/utils/settings.txt | 3 | ||||
| -rw-r--r-- | api.html | 5 | ||||
| -rw-r--r-- | client/messages.html | 51 | ||||
| -rw-r--r-- | contributing.html | 4 | ||||
| -rw-r--r-- | exceptions.html | 18 | ||||
| -rw-r--r-- | genindex.html | 200 | ||||
| -rw-r--r-- | index.html | 2 | ||||
| -rw-r--r-- | jobmanager.html | 80 | ||||
| -rw-r--r-- | objects.inv | bin | 1054 -> 1355 bytes | |||
| -rw-r--r-- | protocol.html | 6 | ||||
| -rw-r--r-- | py-modindex.html | 12 | ||||
| -rw-r--r-- | receiver.html | 2 | ||||
| -rw-r--r-- | router.html | 151 | ||||
| -rw-r--r-- | searchindex.js | 2 | ||||
| -rw-r--r-- | utils.html | 56 | ||||
| -rw-r--r-- | utils/classes.html | 320 | ||||
| -rw-r--r-- | utils/devices.html | 243 | ||||
| -rw-r--r-- | utils/index.html | 256 | ||||
| -rw-r--r-- | utils/settings.html | 231 | ||||
| -rw-r--r-- | utils/timeutils.html | 42 |
24 files changed, 1525 insertions, 169 deletions
diff --git a/_sources/api.txt b/_sources/api.txt index 1a8ea89..8351355 100644 --- a/_sources/api.txt +++ b/_sources/api.txt | |||
| @@ -12,4 +12,4 @@ API Documentation | |||
| 12 | receiver | 12 | receiver |
| 13 | router | 13 | router |
| 14 | sender | 14 | sender |
| 15 | utils | 15 | utils/index |
diff --git a/_sources/protocol.txt b/_sources/protocol.txt index d7bc01d..4c2aff0 100644 --- a/_sources/protocol.txt +++ b/_sources/protocol.txt | |||
| @@ -144,7 +144,7 @@ FRAME Value Description | |||
| 144 | 1 eMQP/1.0 Protocol version | 144 | 1 eMQP/1.0 Protocol version |
| 145 | 2 INFORM command | 145 | 2 INFORM command |
| 146 | 3 _MSGID_ A unique id for the msg | 146 | 3 _MSGID_ A unique id for the msg |
| 147 | 4 _QUEUE_NAME_ csv seperated names of queue the worker belongs to | 147 | 4 _QUEUE_NAME_ csv seperated names of queue the worker belongs to. |
| 148 | 5 worker type of peer connecting | 148 | 5 worker type of peer connecting |
| 149 | ====== ============== =========== | 149 | ====== ============== =========== |
| 150 | 150 | ||
diff --git a/_sources/utils/devices.txt b/_sources/utils/devices.txt new file mode 100644 index 0000000..ef68c27 --- /dev/null +++ b/_sources/utils/devices.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | .. automodule:: eventmq.utils.devices | ||
| 2 | :members: | ||
| 3 | :special-members: | ||
diff --git a/_sources/utils/index.txt b/_sources/utils/index.txt new file mode 100644 index 0000000..02904ed --- /dev/null +++ b/_sources/utils/index.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | .. automodule:: eventmq.utils | ||
| 2 | :members: | ||
| 3 | :special-members: | ||
diff --git a/_sources/utils/settings.txt b/_sources/utils/settings.txt new file mode 100644 index 0000000..1334f15 --- /dev/null +++ b/_sources/utils/settings.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | .. automodule:: eventmq.utils.settings | ||
| 2 | :members: | ||
| 3 | :special-members: | ||
| @@ -90,7 +90,7 @@ | |||
| 90 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 90 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 91 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 91 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 92 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 92 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 93 | <li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | 93 | <li class="toctree-l2"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> |
| 94 | </ul> | 94 | </ul> |
| 95 | </li> | 95 | </li> |
| 96 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> | 96 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> |
| @@ -152,8 +152,9 @@ | |||
| 152 | <li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 152 | <li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 153 | <li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 153 | <li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 154 | <li class="toctree-l1"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 154 | <li class="toctree-l1"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 155 | <li class="toctree-l1"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> | 155 | <li class="toctree-l1"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> |
| 156 | <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> | 156 | <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> |
| 157 | <li class="toctree-l2"><a class="reference internal" href="utils/devices.html"><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</a></li> | ||
| 157 | <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> | 158 | <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> |
| 158 | <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> | 159 | <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> |
| 159 | </ul> | 160 | </ul> |
diff --git a/client/messages.html b/client/messages.html index 4b9647f..744397a 100644 --- a/client/messages.html +++ b/client/messages.html | |||
| @@ -226,6 +226,34 @@ that would otherwise overwhelm a box that has to do it all alone. | |||
| 226 | </dd></dl> | 226 | </dd></dl> |
| 227 | 227 | ||
| 228 | <dl class="function"> | 228 | <dl class="function"> |
| 229 | <dt id="eventmq.client.messages.schedule"> | ||
| 230 | <code class="descclassname">eventmq.client.messages.</code><code class="descname">schedule</code><span class="sig-paren">(</span><em>socket</em>, <em>func</em>, <em>interval_secs</em>, <em>args=()</em>, <em>kwargs=None</em>, <em>class_args=()</em>, <em>class_kwargs=None</em>, <em>headers=('guarantee'</em>, <em>)</em>, <em>queue='default'</em>, <em>unschedule=False</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.schedule" title="Permalink to this definition">¶</a></dt> | ||
| 231 | <dd><p>Execute a task on a defined interval.</p> | ||
| 232 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 233 | <col class="field-name" /> | ||
| 234 | <col class="field-body" /> | ||
| 235 | <tbody valign="top"> | ||
| 236 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 237 | <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>) – eventmq socket to use for sending the message</li> | ||
| 238 | <li><strong>func</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#callable" title="(in Python v2.7)"><em>callable</em></a>) – the callable to be scheduled on a worker</li> | ||
| 239 | <li><strong>minutes</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – minutes to wait in between executions</li> | ||
| 240 | <li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) – list of <a href="#id9"><span class="problematic" id="id10">*</span></a>args to pass to the callable</li> | ||
| 241 | <li><strong>kwargs</strong> (<a class="reference external" href="https://docs.python.org/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) – dict of <a href="#id11"><span class="problematic" id="id12">**</span></a>kwargs to pass to the callable</li> | ||
| 242 | <li><strong>class_args</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) – list of <a href="#id13"><span class="problematic" id="id14">*</span></a>args to pass to the class (if applicable)</li> | ||
| 243 | <li><strong>class_kwargs</strong> (<a class="reference external" href="https://docs.python.org/library/stdtypes.html#dict" title="(in Python v2.7)"><em>dict</em></a>) – dict of <a href="#id15"><span class="problematic" id="id16">**</span></a>kwargs to pass to the class (if | ||
| 244 | applicable)</li> | ||
| 245 | <li><strong>headers</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) – list of strings denoting enabled headers. Default: | ||
| 246 | guarantee is enabled to ensure the scheduler schedules the job.</li> | ||
| 247 | <li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – name of the queue to use when executing the job. The | ||
| 248 | default value is the default queue.</li> | ||
| 249 | </ul> | ||
| 250 | </td> | ||
| 251 | </tr> | ||
| 252 | </tbody> | ||
| 253 | </table> | ||
| 254 | </dd></dl> | ||
| 255 | |||
| 256 | <dl class="function"> | ||
| 229 | <dt id="eventmq.client.messages.send_request"> | 257 | <dt id="eventmq.client.messages.send_request"> |
| 230 | <code class="descclassname">eventmq.client.messages.</code><code class="descname">send_request</code><span class="sig-paren">(</span><em>socket</em>, <em>message</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.send_request" title="Permalink to this definition">¶</a></dt> | 258 | <code class="descclassname">eventmq.client.messages.</code><code class="descname">send_request</code><span class="sig-paren">(</span><em>socket</em>, <em>message</em>, <em>reply_requested=False</em>, <em>guarantee=False</em>, <em>retry_count=0</em>, <em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.send_request" title="Permalink to this definition">¶</a></dt> |
| 231 | <dd><p>Send a REQUEST command.</p> | 259 | <dd><p>Send a REQUEST command.</p> |
| @@ -276,6 +304,29 @@ configured default queue name</li> | |||
| 276 | </table> | 304 | </table> |
| 277 | </dd></dl> | 305 | </dd></dl> |
| 278 | 306 | ||
| 307 | <dl class="function"> | ||
| 308 | <dt id="eventmq.client.messages.send_schedule_request"> | ||
| 309 | <code class="descclassname">eventmq.client.messages.</code><code class="descname">send_schedule_request</code><span class="sig-paren">(</span><em>socket</em>, <em>interval_secs</em>, <em>message</em>, <em>headers=()</em>, <em>queue=None</em>, <em>unschedule=False</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.client.messages.send_schedule_request" title="Permalink to this definition">¶</a></dt> | ||
| 310 | <dd><p>Send a SCHEDULE or UNSCHEDULE command.</p> | ||
| 311 | <p>Queues a message requesting that something happens on an | ||
| 312 | interval for the scheduler.</p> | ||
| 313 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 314 | <col class="field-name" /> | ||
| 315 | <col class="field-body" /> | ||
| 316 | <tbody valign="top"> | ||
| 317 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 318 | <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>) – </li> | ||
| 319 | <li><strong>interval_secs</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – </li> | ||
| 320 | <li><strong>message</strong> – Message to send socket.</li> | ||
| 321 | <li><strong>headers</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) – List of headers for the message</li> | ||
| 322 | <li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – name of queue the job should be executed in</li> | ||
| 323 | </ul> | ||
| 324 | </td> | ||
| 325 | </tr> | ||
| 326 | </tbody> | ||
| 327 | </table> | ||
| 328 | </dd></dl> | ||
| 329 | |||
| 279 | </div> | 330 | </div> |
| 280 | 331 | ||
| 281 | 332 | ||
diff --git a/contributing.html b/contributing.html index 79d9616..981b524 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="timeutils – Time Utilites" href="utils/timeutils.html"/> | 35 | <link rel="prev" title="<no title>" href="utils.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/timeutils.html" class="btn btn-neutral" title="timeutils – Time Utilites" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | 163 | <a href="utils.html" class="btn btn-neutral" title="<no title>" 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 a192639..c103808 100644 --- a/exceptions.html +++ b/exceptions.html | |||
| @@ -91,7 +91,7 @@ | |||
| 91 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 91 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 92 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 92 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 94 | <li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | 94 | <li class="toctree-l2"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> - Utilities</a></li> |
| 95 | </ul> | 95 | </ul> |
| 96 | </li> | 96 | </li> |
| 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> | 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> |
| @@ -148,7 +148,7 @@ be subclasses of <a class="reference internal" href="#eventmq.exceptions.EventMQ | |||
| 148 | <dl class="exception"> | 148 | <dl class="exception"> |
| 149 | <dt id="eventmq.exceptions.EventMQError"> | 149 | <dt id="eventmq.exceptions.EventMQError"> |
| 150 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">EventMQError</code><a class="headerlink" href="#eventmq.exceptions.EventMQError" title="Permalink to this definition">¶</a></dt> | 150 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">EventMQError</code><a class="headerlink" href="#eventmq.exceptions.EventMQError" title="Permalink to this definition">¶</a></dt> |
| 151 | <dd><p>All exceptions raised by EventMQ inherit from this base exception</p> | 151 | <dd><p>All exceptions raised by EventMQ inherit from this base exception.</p> |
| 152 | </dd></dl> | 152 | </dd></dl> |
| 153 | 153 | ||
| 154 | <dl class="exception"> | 154 | <dl class="exception"> |
| @@ -160,7 +160,13 @@ be subclasses of <a class="reference internal" href="#eventmq.exceptions.EventMQ | |||
| 160 | <dl class="exception"> | 160 | <dl class="exception"> |
| 161 | <dt id="eventmq.exceptions.MessageError"> | 161 | <dt id="eventmq.exceptions.MessageError"> |
| 162 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">MessageError</code><a class="headerlink" href="#eventmq.exceptions.MessageError" title="Permalink to this definition">¶</a></dt> | 162 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">MessageError</code><a class="headerlink" href="#eventmq.exceptions.MessageError" title="Permalink to this definition">¶</a></dt> |
| 163 | <dd><p>Raised when there is a problem with the structure of the message</p> | 163 | <dd><p>Raised when there is a problem with the structure of the message.</p> |
| 164 | </dd></dl> | ||
| 165 | |||
| 166 | <dl class="exception"> | ||
| 167 | <dt id="eventmq.exceptions.NoAvailableWorkerSlotsError"> | ||
| 168 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">NoAvailableWorkerSlotsError</code><a class="headerlink" href="#eventmq.exceptions.NoAvailableWorkerSlotsError" title="Permalink to this definition">¶</a></dt> | ||
| 169 | <dd><p>Raised when there is no available workers for a job manager.</p> | ||
| 164 | </dd></dl> | 170 | </dd></dl> |
| 165 | 171 | ||
| 166 | <dl class="exception"> | 172 | <dl class="exception"> |
| @@ -170,6 +176,12 @@ be subclasses of <a class="reference internal" href="#eventmq.exceptions.EventMQ | |||
| 170 | sending a message to it)</p> | 176 | sending a message to it)</p> |
| 171 | </dd></dl> | 177 | </dd></dl> |
| 172 | 178 | ||
| 179 | <dl class="exception"> | ||
| 180 | <dt id="eventmq.exceptions.UnknownQueueError"> | ||
| 181 | <em class="property">exception </em><code class="descclassname">eventmq.exceptions.</code><code class="descname">UnknownQueueError</code><a class="headerlink" href="#eventmq.exceptions.UnknownQueueError" title="Permalink to this definition">¶</a></dt> | ||
| 182 | <dd><p>Raised when a queue is not found in the internal list of queues.</p> | ||
| 183 | </dd></dl> | ||
| 184 | |||
| 173 | </div> | 185 | </div> |
| 174 | 186 | ||
| 175 | 187 | ||
diff --git a/genindex.html b/genindex.html index 89b10e7..6186e51 100644 --- a/genindex.html +++ b/genindex.html | |||
| @@ -175,18 +175,34 @@ | |||
| 175 | </dt> | 175 | </dt> |
| 176 | 176 | ||
| 177 | 177 | ||
| 178 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.__init__">(eventmq.utils.classes.EMQdeque method)</a> | ||
| 179 | </dt> | ||
| 180 | |||
| 181 | |||
| 178 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.__init__">(eventmq.utils.classes.HeartbeatMixin method)</a> | 182 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.__init__">(eventmq.utils.classes.HeartbeatMixin method)</a> |
| 179 | </dt> | 183 | </dt> |
| 180 | 184 | ||
| 185 | |||
| 186 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.IntervalIter.__init__">(eventmq.utils.timeutils.IntervalIter method)</a> | ||
| 187 | </dt> | ||
| 188 | |||
| 181 | </dl></dd> | 189 | </dl></dd> |
| 182 | </dl></td> | 190 | </dl></td> |
| 183 | <td style="width: 33%" valign="top"><dl> | 191 | <td style="width: 33%" valign="top"><dl> |
| 184 | 192 | ||
| 185 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.__weakref__">__weakref__ (eventmq.utils.classes.HeartbeatMixin attribute)</a> | 193 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.__weakref__">__weakref__ (eventmq.utils.classes.EMQdeque attribute)</a> |
| 186 | </dt> | 194 | </dt> |
| 187 | 195 | ||
| 188 | <dd><dl> | 196 | <dd><dl> |
| 189 | 197 | ||
| 198 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.__weakref__">(eventmq.utils.classes.EMQPService attribute)</a> | ||
| 199 | </dt> | ||
| 200 | |||
| 201 | |||
| 202 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.__weakref__">(eventmq.utils.classes.HeartbeatMixin attribute)</a> | ||
| 203 | </dt> | ||
| 204 | |||
| 205 | |||
| 190 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.__weakref__">(eventmq.utils.classes.ZMQReceiveMixin attribute)</a> | 206 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.__weakref__">(eventmq.utils.classes.ZMQReceiveMixin attribute)</a> |
| 191 | </dt> | 207 | </dt> |
| 192 | 208 | ||
| @@ -194,6 +210,10 @@ | |||
| 194 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.__weakref__">(eventmq.utils.classes.ZMQSendMixin attribute)</a> | 210 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQSendMixin.__weakref__">(eventmq.utils.classes.ZMQSendMixin attribute)</a> |
| 195 | </dt> | 211 | </dt> |
| 196 | 212 | ||
| 213 | |||
| 214 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.IntervalIter.__weakref__">(eventmq.utils.timeutils.IntervalIter attribute)</a> | ||
| 215 | </dt> | ||
| 216 | |||
| 197 | </dl></dd> | 217 | </dl></dd> |
| 198 | </dl></td> | 218 | </dl></td> |
| 199 | </tr></table> | 219 | </tr></table> |
| @@ -202,7 +222,7 @@ | |||
| 202 | <table style="width: 100%" class="indextable genindextable"><tr> | 222 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 203 | <td style="width: 33%" valign="top"><dl> | 223 | <td style="width: 33%" valign="top"><dl> |
| 204 | 224 | ||
| 205 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.active_jobs">active_jobs (eventmq.jobmanager.JobManager attribute)</a> | 225 | <dt><a href="router.html#eventmq.router.Router.add_scheduler">add_scheduler() (eventmq.router.Router method)</a> |
| 206 | </dt> | 226 | </dt> |
| 207 | 227 | ||
| 208 | 228 | ||
| @@ -212,7 +232,11 @@ | |||
| 212 | </dl></td> | 232 | </dl></td> |
| 213 | <td style="width: 33%" valign="top"><dl> | 233 | <td style="width: 33%" valign="top"><dl> |
| 214 | 234 | ||
| 215 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.available_workers">available_workers (eventmq.jobmanager.JobManager attribute)</a> | 235 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.append">append() (eventmq.utils.classes.EMQdeque method)</a> |
| 236 | </dt> | ||
| 237 | |||
| 238 | |||
| 239 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.appendleft">appendleft() (eventmq.utils.classes.EMQdeque method)</a> | ||
| 216 | </dt> | 240 | </dt> |
| 217 | 241 | ||
| 218 | </dl></td> | 242 | </dl></td> |
| @@ -232,6 +256,10 @@ | |||
| 232 | <table style="width: 100%" class="indextable genindextable"><tr> | 256 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 233 | <td style="width: 33%" valign="top"><dl> | 257 | <td style="width: 33%" valign="top"><dl> |
| 234 | 258 | ||
| 259 | <dt><a href="router.html#eventmq.router.Router.clean_up_dead_schedulers">clean_up_dead_schedulers() (eventmq.router.Router method)</a> | ||
| 260 | </dt> | ||
| 261 | |||
| 262 | |||
| 235 | <dt><a href="router.html#eventmq.router.Router.clean_up_dead_workers">clean_up_dead_workers() (eventmq.router.Router method)</a> | 263 | <dt><a href="router.html#eventmq.router.Router.clean_up_dead_workers">clean_up_dead_workers() (eventmq.router.Router method)</a> |
| 236 | </dt> | 264 | </dt> |
| 237 | 265 | ||
| @@ -264,6 +292,14 @@ | |||
| 264 | <table style="width: 100%" class="indextable genindextable"><tr> | 292 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 265 | <td style="width: 33%" valign="top"><dl> | 293 | <td style="width: 33%" valign="top"><dl> |
| 266 | 294 | ||
| 295 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque">EMQdeque (class in eventmq.utils.classes)</a> | ||
| 296 | </dt> | ||
| 297 | |||
| 298 | |||
| 299 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService">EMQPService (class in eventmq.utils.classes)</a> | ||
| 300 | </dt> | ||
| 301 | |||
| 302 | |||
| 267 | <dt><a href="client.html#module-eventmq.client">eventmq.client (module)</a> | 303 | <dt><a href="client.html#module-eventmq.client">eventmq.client (module)</a> |
| 268 | </dt> | 304 | </dt> |
| 269 | 305 | ||
| @@ -298,7 +334,7 @@ | |||
| 298 | </dt> | 334 | </dt> |
| 299 | 335 | ||
| 300 | 336 | ||
| 301 | <dt><a href="utils.html#module-eventmq.utils">eventmq.utils (module)</a> | 337 | <dt><a href="utils/index.html#module-eventmq.utils">eventmq.utils (module)</a> |
| 302 | </dt> | 338 | </dt> |
| 303 | 339 | ||
| 304 | 340 | ||
| @@ -306,10 +342,18 @@ | |||
| 306 | </dt> | 342 | </dt> |
| 307 | 343 | ||
| 308 | 344 | ||
| 345 | <dt><a href="utils/devices.html#module-eventmq.utils.devices">eventmq.utils.devices (module)</a> | ||
| 346 | </dt> | ||
| 347 | |||
| 348 | |||
| 309 | <dt><a href="utils/messages.html#module-eventmq.utils.messages">eventmq.utils.messages (module)</a> | 349 | <dt><a href="utils/messages.html#module-eventmq.utils.messages">eventmq.utils.messages (module)</a> |
| 310 | </dt> | 350 | </dt> |
| 311 | 351 | ||
| 312 | 352 | ||
| 353 | <dt><a href="utils/settings.html#module-eventmq.utils.settings">eventmq.utils.settings (module)</a> | ||
| 354 | </dt> | ||
| 355 | |||
| 356 | |||
| 313 | <dt><a href="utils/timeutils.html#module-eventmq.utils.timeutils">eventmq.utils.timeutils (module)</a> | 357 | <dt><a href="utils/timeutils.html#module-eventmq.utils.timeutils">eventmq.utils.timeutils (module)</a> |
| 314 | </dt> | 358 | </dt> |
| 315 | 359 | ||
| @@ -317,6 +361,10 @@ | |||
| 317 | <dt><a href="exceptions.html#eventmq.exceptions.EventMQError">EventMQError</a> | 361 | <dt><a href="exceptions.html#eventmq.exceptions.EventMQError">EventMQError</a> |
| 318 | </dt> | 362 | </dt> |
| 319 | 363 | ||
| 364 | |||
| 365 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.extend">extend() (eventmq.utils.classes.EMQdeque method)</a> | ||
| 366 | </dt> | ||
| 367 | |||
| 320 | </dl></td> | 368 | </dl></td> |
| 321 | </tr></table> | 369 | </tr></table> |
| 322 | 370 | ||
| @@ -334,10 +382,20 @@ | |||
| 334 | <table style="width: 100%" class="indextable genindextable"><tr> | 382 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 335 | <td style="width: 33%" valign="top"><dl> | 383 | <td style="width: 33%" valign="top"><dl> |
| 336 | 384 | ||
| 385 | <dt><a href="utils/devices.html#eventmq.utils.devices.generate_device_name">generate_device_name() (in module eventmq.utils.devices)</a> | ||
| 386 | </dt> | ||
| 387 | |||
| 388 | |||
| 337 | <dt><a href="utils/messages.html#eventmq.utils.messages.generate_msgid">generate_msgid() (in module eventmq.utils.messages)</a> | 389 | <dt><a href="utils/messages.html#eventmq.utils.messages.generate_msgid">generate_msgid() (in module eventmq.utils.messages)</a> |
| 338 | </dt> | 390 | </dt> |
| 339 | 391 | ||
| 340 | </dl></td> | 392 | </dl></td> |
| 393 | <td style="width: 33%" valign="top"><dl> | ||
| 394 | |||
| 395 | <dt><a href="router.html#eventmq.router.Router.get_available_worker">get_available_worker() (eventmq.router.Router method)</a> | ||
| 396 | </dt> | ||
| 397 | |||
| 398 | </dl></td> | ||
| 341 | </tr></table> | 399 | </tr></table> |
| 342 | 400 | ||
| 343 | <h2 id="H">H</h2> | 401 | <h2 id="H">H</h2> |
| @@ -354,17 +412,37 @@ | |||
| 354 | <table style="width: 100%" class="indextable genindextable"><tr> | 412 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 355 | <td style="width: 33%" valign="top"><dl> | 413 | <td style="width: 33%" valign="top"><dl> |
| 356 | 414 | ||
| 357 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.incoming">incoming (eventmq.jobmanager.JobManager attribute)</a> | 415 | <dt><a href="utils/settings.html#eventmq.utils.settings.import_settings">import_settings() (in module eventmq.utils.settings)</a> |
| 416 | </dt> | ||
| 417 | |||
| 418 | |||
| 419 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.IntervalIter">IntervalIter (class in eventmq.utils.timeutils)</a> | ||
| 358 | </dt> | 420 | </dt> |
| 359 | 421 | ||
| 360 | 422 | ||
| 361 | <dt><a href="exceptions.html#eventmq.exceptions.InvalidMessageError">InvalidMessageError</a> | 423 | <dt><a href="exceptions.html#eventmq.exceptions.InvalidMessageError">InvalidMessageError</a> |
| 362 | </dt> | 424 | </dt> |
| 363 | 425 | ||
| 426 | |||
| 427 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.is_dead">is_dead() (eventmq.utils.classes.HeartbeatMixin method)</a> | ||
| 428 | </dt> | ||
| 429 | |||
| 364 | </dl></td> | 430 | </dl></td> |
| 365 | <td style="width: 33%" valign="top"><dl> | 431 | <td style="width: 33%" valign="top"><dl> |
| 366 | 432 | ||
| 367 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.is_dead">is_dead() (eventmq.utils.classes.HeartbeatMixin method)</a> | 433 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.is_empty">is_empty() (eventmq.utils.classes.EMQdeque method)</a> |
| 434 | </dt> | ||
| 435 | |||
| 436 | |||
| 437 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.is_full">is_full() (eventmq.utils.classes.EMQdeque method)</a> | ||
| 438 | </dt> | ||
| 439 | |||
| 440 | |||
| 441 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.is_heartbeat_enabled">is_heartbeat_enabled (eventmq.utils.classes.EMQPService attribute)</a> | ||
| 442 | </dt> | ||
| 443 | |||
| 444 | |||
| 445 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.is_pfull">is_pfull() (eventmq.utils.classes.EMQdeque method)</a> | ||
| 368 | </dt> | 446 | </dt> |
| 369 | 447 | ||
| 370 | </dl></td> | 448 | </dl></td> |
| @@ -440,13 +518,19 @@ | |||
| 440 | 518 | ||
| 441 | </dl></dd> | 519 | </dl></dd> |
| 442 | </dl></td> | 520 | </dl></td> |
| 521 | <td style="width: 33%" valign="top"><dl> | ||
| 522 | |||
| 523 | <dt><a href="exceptions.html#eventmq.exceptions.NoAvailableWorkerSlotsError">NoAvailableWorkerSlotsError</a> | ||
| 524 | </dt> | ||
| 525 | |||
| 526 | </dl></td> | ||
| 443 | </tr></table> | 527 | </tr></table> |
| 444 | 528 | ||
| 445 | <h2 id="O">O</h2> | 529 | <h2 id="O">O</h2> |
| 446 | <table style="width: 100%" class="indextable genindextable"><tr> | 530 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 447 | <td style="width: 33%" valign="top"><dl> | 531 | <td style="width: 33%" valign="top"><dl> |
| 448 | 532 | ||
| 449 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.on_ack">on_ack() (eventmq.jobmanager.JobManager method)</a> | 533 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.on_ack">on_ack() (eventmq.utils.classes.EMQPService method)</a> |
| 450 | </dt> | 534 | </dt> |
| 451 | 535 | ||
| 452 | 536 | ||
| @@ -463,12 +547,12 @@ | |||
| 463 | <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a> | 547 | <dt><a href="router.html#eventmq.router.Router.on_inform">on_inform() (eventmq.router.Router method)</a> |
| 464 | </dt> | 548 | </dt> |
| 465 | 549 | ||
| 466 | </dl></td> | ||
| 467 | <td style="width: 33%" valign="top"><dl> | ||
| 468 | 550 | ||
| 469 | <dt><a href="router.html#eventmq.router.Router.on_ready">on_ready() (eventmq.router.Router method)</a> | 551 | <dt><a href="router.html#eventmq.router.Router.on_ready">on_ready() (eventmq.router.Router method)</a> |
| 470 | </dt> | 552 | </dt> |
| 471 | 553 | ||
| 554 | </dl></td> | ||
| 555 | <td style="width: 33%" valign="top"><dl> | ||
| 472 | 556 | ||
| 473 | <dt><a href="router.html#eventmq.router.Router.on_receive_request">on_receive_request() (eventmq.router.Router method)</a> | 557 | <dt><a href="router.html#eventmq.router.Router.on_receive_request">on_receive_request() (eventmq.router.Router method)</a> |
| 474 | </dt> | 558 | </dt> |
| @@ -477,6 +561,16 @@ | |||
| 477 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.on_request">on_request() (eventmq.jobmanager.JobManager method)</a> | 561 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.on_request">on_request() (eventmq.jobmanager.JobManager method)</a> |
| 478 | </dt> | 562 | </dt> |
| 479 | 563 | ||
| 564 | <dd><dl> | ||
| 565 | |||
| 566 | <dt><a href="router.html#eventmq.router.Router.on_request">(eventmq.router.Router method)</a> | ||
| 567 | </dt> | ||
| 568 | |||
| 569 | </dl></dd> | ||
| 570 | |||
| 571 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.outgoing">outgoing (eventmq.jobmanager.JobManager attribute)</a> | ||
| 572 | </dt> | ||
| 573 | |||
| 480 | </dl></td> | 574 | </dl></td> |
| 481 | </tr></table> | 575 | </tr></table> |
| 482 | 576 | ||
| @@ -499,14 +593,26 @@ | |||
| 499 | <dt><a href="poller.html#eventmq.poller.Poller.poll">poll() (eventmq.poller.Poller method)</a> | 593 | <dt><a href="poller.html#eventmq.poller.Poller.poll">poll() (eventmq.poller.Poller method)</a> |
| 500 | </dt> | 594 | </dt> |
| 501 | 595 | ||
| 596 | |||
| 597 | <dt><a href="poller.html#eventmq.poller.Poller">Poller (class in eventmq.poller)</a> | ||
| 598 | </dt> | ||
| 599 | |||
| 502 | </dl></td> | 600 | </dl></td> |
| 503 | <td style="width: 33%" valign="top"><dl> | 601 | <td style="width: 33%" valign="top"><dl> |
| 504 | 602 | ||
| 505 | <dt><a href="poller.html#eventmq.poller.Poller">Poller (class in eventmq.poller)</a> | 603 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.pop">pop() (eventmq.utils.classes.EMQdeque method)</a> |
| 604 | </dt> | ||
| 605 | |||
| 606 | |||
| 607 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.popleft">popleft() (eventmq.utils.classes.EMQdeque method)</a> | ||
| 608 | </dt> | ||
| 609 | |||
| 610 | |||
| 611 | <dt><a href="router.html#eventmq.router.Router.prioritize_queue_list">prioritize_queue_list() (eventmq.router.Router class method)</a> | ||
| 506 | </dt> | 612 | </dt> |
| 507 | 613 | ||
| 508 | 614 | ||
| 509 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.process_message">process_message() (eventmq.jobmanager.JobManager method)</a> | 615 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.process_message">process_message() (eventmq.utils.classes.EMQPService method)</a> |
| 510 | </dt> | 616 | </dt> |
| 511 | 617 | ||
| 512 | 618 | ||
| @@ -536,7 +642,7 @@ | |||
| 536 | <table style="width: 100%" class="indextable genindextable"><tr> | 642 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 537 | <td style="width: 33%" valign="top"><dl> | 643 | <td style="width: 33%" valign="top"><dl> |
| 538 | 644 | ||
| 539 | <dt><a href="utils.html#eventmq.utils.random_characters">random_characters() (in module eventmq.utils)</a> | 645 | <dt><a href="utils/index.html#eventmq.utils.random_characters">random_characters() (in module eventmq.utils)</a> |
| 540 | </dt> | 646 | </dt> |
| 541 | 647 | ||
| 542 | 648 | ||
| @@ -554,6 +660,10 @@ | |||
| 554 | </dt> | 660 | </dt> |
| 555 | 661 | ||
| 556 | 662 | ||
| 663 | <dt><a href="router.html#eventmq.router.Router.received_disconnect">received_disconnect (eventmq.router.Router attribute)</a> | ||
| 664 | </dt> | ||
| 665 | |||
| 666 | |||
| 557 | <dt><a href="receiver.html#eventmq.receiver.Receiver">Receiver (class in eventmq.receiver)</a> | 667 | <dt><a href="receiver.html#eventmq.receiver.Receiver">Receiver (class in eventmq.receiver)</a> |
| 558 | </dt> | 668 | </dt> |
| 559 | 669 | ||
| @@ -565,10 +675,18 @@ | |||
| 565 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.recv_multipart">recv_multipart() (eventmq.utils.classes.ZMQReceiveMixin method)</a> | 675 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin.recv_multipart">recv_multipart() (eventmq.utils.classes.ZMQReceiveMixin method)</a> |
| 566 | </dt> | 676 | </dt> |
| 567 | 677 | ||
| 678 | |||
| 679 | <dt><a href="poller.html#eventmq.poller.Poller.register">register() (eventmq.poller.Poller method)</a> | ||
| 680 | </dt> | ||
| 681 | |||
| 568 | </dl></td> | 682 | </dl></td> |
| 569 | <td style="width: 33%" valign="top"><dl> | 683 | <td style="width: 33%" valign="top"><dl> |
| 570 | 684 | ||
| 571 | <dt><a href="poller.html#eventmq.poller.Poller.register">register() (eventmq.poller.Poller method)</a> | 685 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQdeque.remove">remove() (eventmq.utils.classes.EMQdeque method)</a> |
| 686 | </dt> | ||
| 687 | |||
| 688 | |||
| 689 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.request_queue">request_queue (eventmq.jobmanager.JobManager attribute)</a> | ||
| 572 | </dt> | 690 | </dt> |
| 573 | 691 | ||
| 574 | 692 | ||
| @@ -576,13 +694,19 @@ | |||
| 576 | </dt> | 694 | </dt> |
| 577 | 695 | ||
| 578 | 696 | ||
| 579 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.reset">reset() (eventmq.jobmanager.JobManager method)</a> | 697 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.reset">reset() (eventmq.utils.classes.EMQPService method)</a> |
| 580 | </dt> | 698 | </dt> |
| 581 | 699 | ||
| 582 | 700 | ||
| 583 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.reset_heartbeat_counters">reset_heartbeat_counters() (eventmq.utils.classes.HeartbeatMixin method)</a> | 701 | <dt><a href="router.html#eventmq.router.Router.reset_heartbeat_counters">reset_heartbeat_counters() (eventmq.router.Router method)</a> |
| 584 | </dt> | 702 | </dt> |
| 585 | 703 | ||
| 704 | <dd><dl> | ||
| 705 | |||
| 706 | <dt><a href="utils/classes.html#eventmq.utils.classes.HeartbeatMixin.reset_heartbeat_counters">(eventmq.utils.classes.HeartbeatMixin method)</a> | ||
| 707 | </dt> | ||
| 708 | |||
| 709 | </dl></dd> | ||
| 586 | 710 | ||
| 587 | <dt><a href="router.html#eventmq.router.Router">Router (class in eventmq.router)</a> | 711 | <dt><a href="router.html#eventmq.router.Router">Router (class in eventmq.router)</a> |
| 588 | </dt> | 712 | </dt> |
| @@ -598,6 +722,18 @@ | |||
| 598 | <table style="width: 100%" class="indextable genindextable"><tr> | 722 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 599 | <td style="width: 33%" valign="top"><dl> | 723 | <td style="width: 33%" valign="top"><dl> |
| 600 | 724 | ||
| 725 | <dt><a href="client/messages.html#eventmq.client.messages.schedule">schedule() (in module eventmq.client.messages)</a> | ||
| 726 | </dt> | ||
| 727 | |||
| 728 | |||
| 729 | <dt><a href="router.html#eventmq.router.Router.scheduler_queue">scheduler_queue (eventmq.router.Router attribute)</a> | ||
| 730 | </dt> | ||
| 731 | |||
| 732 | |||
| 733 | <dt><a href="router.html#eventmq.router.Router.schedulers">schedulers (eventmq.router.Router attribute)</a> | ||
| 734 | </dt> | ||
| 735 | |||
| 736 | |||
| 601 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.seconds_until">seconds_until() (in module eventmq.utils.timeutils)</a> | 737 | <dt><a href="utils/timeutils.html#eventmq.utils.timeutils.seconds_until">seconds_until() (in module eventmq.utils.timeutils)</a> |
| 602 | </dt> | 738 | </dt> |
| 603 | 739 | ||
| @@ -628,7 +764,7 @@ | |||
| 628 | 764 | ||
| 629 | </dl></dd> | 765 | </dl></dd> |
| 630 | 766 | ||
| 631 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.send_inform">send_inform() (eventmq.jobmanager.JobManager method)</a> | 767 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.send_inform">send_inform() (eventmq.utils.classes.EMQPService method)</a> |
| 632 | </dt> | 768 | </dt> |
| 633 | 769 | ||
| 634 | </dl></td> | 770 | </dl></td> |
| @@ -646,6 +782,14 @@ | |||
| 646 | </dt> | 782 | </dt> |
| 647 | 783 | ||
| 648 | 784 | ||
| 785 | <dt><a href="client/messages.html#eventmq.client.messages.send_schedule_request">send_schedule_request() (in module eventmq.client.messages)</a> | ||
| 786 | </dt> | ||
| 787 | |||
| 788 | |||
| 789 | <dt><a href="router.html#eventmq.router.Router.send_schedulers_heartbeats">send_schedulers_heartbeats() (eventmq.router.Router method)</a> | ||
| 790 | </dt> | ||
| 791 | |||
| 792 | |||
| 649 | <dt><a href="router.html#eventmq.router.Router.send_workers_heartbeats">send_workers_heartbeats() (eventmq.router.Router method)</a> | 793 | <dt><a href="router.html#eventmq.router.Router.send_workers_heartbeats">send_workers_heartbeats() (eventmq.router.Router method)</a> |
| 650 | </dt> | 794 | </dt> |
| 651 | 795 | ||
| @@ -654,12 +798,16 @@ | |||
| 654 | </dt> | 798 | </dt> |
| 655 | 799 | ||
| 656 | 800 | ||
| 657 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.start">start() (eventmq.jobmanager.JobManager method)</a> | 801 | <dt><a href="router.html#eventmq.router.Router.sighup_handler">sighup_handler() (eventmq.router.Router method)</a> |
| 802 | </dt> | ||
| 803 | |||
| 804 | |||
| 805 | <dt><a href="router.html#eventmq.router.Router.start">start() (eventmq.router.Router method)</a> | ||
| 658 | </dt> | 806 | </dt> |
| 659 | 807 | ||
| 660 | <dd><dl> | 808 | <dd><dl> |
| 661 | 809 | ||
| 662 | <dt><a href="router.html#eventmq.router.Router.start">(eventmq.router.Router method)</a> | 810 | <dt><a href="utils/classes.html#eventmq.utils.classes.EMQPService.start">(eventmq.utils.classes.EMQPService method)</a> |
| 663 | </dt> | 811 | </dt> |
| 664 | 812 | ||
| 665 | </dl></dd> | 813 | </dl></dd> |
| @@ -689,6 +837,10 @@ | |||
| 689 | </dt> | 837 | </dt> |
| 690 | 838 | ||
| 691 | </dl></dd> | 839 | </dl></dd> |
| 840 | |||
| 841 | <dt><a href="exceptions.html#eventmq.exceptions.UnknownQueueError">UnknownQueueError</a> | ||
| 842 | </dt> | ||
| 843 | |||
| 692 | </dl></td> | 844 | </dl></td> |
| 693 | <td style="width: 33%" valign="top"><dl> | 845 | <td style="width: 33%" valign="top"><dl> |
| 694 | 846 | ||
| @@ -708,9 +860,15 @@ | |||
| 708 | </dl></td> | 860 | </dl></td> |
| 709 | <td style="width: 33%" valign="top"><dl> | 861 | <td style="width: 33%" valign="top"><dl> |
| 710 | 862 | ||
| 711 | <dt><a href="router.html#eventmq.router.Router.workers">workers (eventmq.router.Router attribute)</a> | 863 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.workers">workers (eventmq.jobmanager.JobManager attribute)</a> |
| 712 | </dt> | 864 | </dt> |
| 713 | 865 | ||
| 866 | <dd><dl> | ||
| 867 | |||
| 868 | <dt><a href="router.html#eventmq.router.Router.workers">(eventmq.router.Router attribute)</a> | ||
| 869 | </dt> | ||
| 870 | |||
| 871 | </dl></dd> | ||
| 714 | </dl></td> | 872 | </dl></td> |
| 715 | </tr></table> | 873 | </tr></table> |
| 716 | 874 | ||
| @@ -728,6 +886,10 @@ | |||
| 728 | 886 | ||
| 729 | </dl></dd> | 887 | </dl></dd> |
| 730 | 888 | ||
| 889 | <dt><a href="utils/index.html#eventmq.utils.zero_index_cmp">zero_index_cmp() (in module eventmq.utils)</a> | ||
| 890 | </dt> | ||
| 891 | |||
| 892 | |||
| 731 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin">ZMQReceiveMixin (class in eventmq.utils.classes)</a> | 893 | <dt><a href="utils/classes.html#eventmq.utils.classes.ZMQReceiveMixin">ZMQReceiveMixin (class in eventmq.utils.classes)</a> |
| 732 | </dt> | 894 | </dt> |
| 733 | 895 | ||
| @@ -139,7 +139,7 @@ | |||
| 139 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 139 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 140 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 140 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 141 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 141 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 142 | <li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | 142 | <li class="toctree-l2"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> |
| 143 | </ul> | 143 | </ul> |
| 144 | </li> | 144 | </li> |
| 145 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a><ul> | 145 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a><ul> |
diff --git a/jobmanager.html b/jobmanager.html index 2c81041..1c040f5 100644 --- a/jobmanager.html +++ b/jobmanager.html | |||
| @@ -149,7 +149,7 @@ | |||
| 149 | <em class="property">class </em><code class="descclassname">eventmq.jobmanager.</code><code class="descname">JobManager</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager" title="Permalink to this definition">¶</a></dt> | 149 | <em class="property">class </em><code class="descclassname">eventmq.jobmanager.</code><code class="descname">JobManager</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager" title="Permalink to this definition">¶</a></dt> |
| 150 | <dd><p>The exposed portion of the worker. The job manager’s main responsibility is | 150 | <dd><p>The exposed portion of the worker. The job manager’s main responsibility is |
| 151 | to manage the resources on the server it’s running.</p> | 151 | to manage the resources on the server it’s running.</p> |
| 152 | <p>This job manager uses tornado’s eventloop.</p> | 152 | <p>This job manager uses multiprocessing Queues</p> |
| 153 | <dl class="method"> | 153 | <dl class="method"> |
| 154 | <dt id="eventmq.jobmanager.JobManager.__init__"> | 154 | <dt id="eventmq.jobmanager.JobManager.__init__"> |
| 155 | <code class="descname">__init__</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.__init__" title="Permalink to this definition">¶</a></dt> | 155 | <code class="descname">__init__</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.__init__" title="Permalink to this definition">¶</a></dt> |
| @@ -168,29 +168,6 @@ generated.</td> | |||
| 168 | </table> | 168 | </table> |
| 169 | </dd></dl> | 169 | </dd></dl> |
| 170 | 170 | ||
| 171 | <dl class="attribute"> | ||
| 172 | <dt id="eventmq.jobmanager.JobManager.active_jobs"> | ||
| 173 | <code class="descname">active_jobs</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.active_jobs" title="Permalink to this definition">¶</a></dt> | ||
| 174 | <dd><p>Jobs that are running should be stored in <cite>active_jobs</cite>. There | ||
| 175 | should always be at most <cite>available_workers</cite> count of active jobs. | ||
| 176 | this point the manager should wait for a slot to free up.</p> | ||
| 177 | </dd></dl> | ||
| 178 | |||
| 179 | <dl class="attribute"> | ||
| 180 | <dt id="eventmq.jobmanager.JobManager.available_workers"> | ||
| 181 | <code class="descname">available_workers</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.available_workers" title="Permalink to this definition">¶</a></dt> | ||
| 182 | <dd><p>Number of workers that are available to have a job executed. This | ||
| 183 | number changes as workers become busy with jobs</p> | ||
| 184 | </dd></dl> | ||
| 185 | |||
| 186 | <dl class="attribute"> | ||
| 187 | <dt id="eventmq.jobmanager.JobManager.incoming"> | ||
| 188 | <code class="descname">incoming</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.incoming" title="Permalink to this definition">¶</a></dt> | ||
| 189 | <dd><p>JobManager starts out by INFORMing the router of it’s existance, | ||
| 190 | then telling the router that it is READY. The reply will be the unit | ||
| 191 | of work.</p> | ||
| 192 | </dd></dl> | ||
| 193 | |||
| 194 | <dl class="method"> | 171 | <dl class="method"> |
| 195 | <dt id="eventmq.jobmanager.JobManager.jobmanager_main"> | 172 | <dt id="eventmq.jobmanager.JobManager.jobmanager_main"> |
| 196 | <code class="descname">jobmanager_main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.jobmanager_main" title="Permalink to this definition">¶</a></dt> | 173 | <code class="descname">jobmanager_main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.jobmanager_main" title="Permalink to this definition">¶</a></dt> |
| @@ -205,12 +182,6 @@ referring to the logs.</p> | |||
| 205 | </dd></dl> | 182 | </dd></dl> |
| 206 | 183 | ||
| 207 | <dl class="method"> | 184 | <dl class="method"> |
| 208 | <dt id="eventmq.jobmanager.JobManager.on_ack"> | ||
| 209 | <code class="descname">on_ack</code><span class="sig-paren">(</span><em>msgid</em>, <em>ackd_msgid</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.on_ack" title="Permalink to this definition">¶</a></dt> | ||
| 210 | <dd><p>Sets <code class="xref py py-attr docutils literal"><span class="pre">awaiting_ack</span></code> to False</p> | ||
| 211 | </dd></dl> | ||
| 212 | |||
| 213 | <dl class="method"> | ||
| 214 | <dt id="eventmq.jobmanager.JobManager.on_heartbeat"> | 185 | <dt id="eventmq.jobmanager.JobManager.on_heartbeat"> |
| 215 | <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> | 186 | <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> |
| 216 | <dd><p>a placeholder for a noop command. The actual ‘logic’ for HEARTBEAT is | 187 | <dd><p>a placeholder for a noop command. The actual ‘logic’ for HEARTBEAT is |
| @@ -250,31 +221,18 @@ HEARTBEAT</p> | |||
| 250 | </dl> | 221 | </dl> |
| 251 | </dd></dl> | 222 | </dd></dl> |
| 252 | 223 | ||
| 253 | <dl class="method"> | 224 | <dl class="attribute"> |
| 254 | <dt id="eventmq.jobmanager.JobManager.process_message"> | 225 | <dt id="eventmq.jobmanager.JobManager.outgoing"> |
| 255 | <code class="descname">process_message</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.process_message" title="Permalink to this definition">¶</a></dt> | 226 | <code class="descname">outgoing</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.outgoing" title="Permalink to this definition">¶</a></dt> |
| 256 | <dd><p>Processes a message</p> | 227 | <dd><p>JobManager starts out by INFORMing the router of it’s existence, |
| 257 | <table class="docutils field-list" frame="void" rules="none"> | 228 | then telling the router that it is READY. The reply will be the unit |
| 258 | <col class="field-name" /> | 229 | of work.</p> |
| 259 | <col class="field-body" /> | ||
| 260 | <tbody valign="top"> | ||
| 261 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>msg</strong> – The message received from the socket to parse and process. | ||
| 262 | Processing takes form of calling an <cite>on_COMMAND</cite> method.</td> | ||
| 263 | </tr> | ||
| 264 | </tbody> | ||
| 265 | </table> | ||
| 266 | </dd></dl> | ||
| 267 | |||
| 268 | <dl class="method"> | ||
| 269 | <dt id="eventmq.jobmanager.JobManager.reset"> | ||
| 270 | <code class="descname">reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.reset" title="Permalink to this definition">¶</a></dt> | ||
| 271 | <dd><p>Resets the current connection by closing and reopening the socket</p> | ||
| 272 | </dd></dl> | 230 | </dd></dl> |
| 273 | 231 | ||
| 274 | <dl class="method"> | 232 | <dl class="attribute"> |
| 275 | <dt id="eventmq.jobmanager.JobManager.send_inform"> | 233 | <dt id="eventmq.jobmanager.JobManager.request_queue"> |
| 276 | <code class="descname">send_inform</code><span class="sig-paren">(</span><em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.send_inform" title="Permalink to this definition">¶</a></dt> | 234 | <code class="descname">request_queue</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.request_queue" title="Permalink to this definition">¶</a></dt> |
| 277 | <dd><p>Send an INFORM command</p> | 235 | <dd><p>Setup worker queues</p> |
| 278 | </dd></dl> | 236 | </dd></dl> |
| 279 | 237 | ||
| 280 | <dl class="method"> | 238 | <dl class="method"> |
| @@ -284,18 +242,10 @@ Processing takes form of calling an <cite>on_COMMAND</cite> method.</td> | |||
| 284 | for another REQUEST message.</p> | 242 | for another REQUEST message.</p> |
| 285 | </dd></dl> | 243 | </dd></dl> |
| 286 | 244 | ||
| 287 | <dl class="method"> | 245 | <dl class="attribute"> |
| 288 | <dt id="eventmq.jobmanager.JobManager.start"> | 246 | <dt id="eventmq.jobmanager.JobManager.workers"> |
| 289 | <code class="descname">start</code><span class="sig-paren">(</span><em>addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.jobmanager.JobManager.start" title="Permalink to this definition">¶</a></dt> | 247 | <code class="descname">workers</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.jobmanager.JobManager.workers" title="Permalink to this definition">¶</a></dt> |
| 290 | <dd><p>Connect to <cite>addr</cite> and begin listening for job requests</p> | 248 | <dd><p>keep track of workers</p> |
| 291 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 292 | <col class="field-name" /> | ||
| 293 | <col class="field-body" /> | ||
| 294 | <tbody valign="top"> | ||
| 295 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – connection string to connect to</td> | ||
| 296 | </tr> | ||
| 297 | </tbody> | ||
| 298 | </table> | ||
| 299 | </dd></dl> | 249 | </dd></dl> |
| 300 | 250 | ||
| 301 | </dd></dl> | 251 | </dd></dl> |
diff --git a/objects.inv b/objects.inv index 855bf43..fa92760 100644 --- a/objects.inv +++ b/objects.inv | |||
| Binary files differ | |||
diff --git a/protocol.html b/protocol.html index 22906fa..43282f6 100644 --- a/protocol.html +++ b/protocol.html | |||
| @@ -458,9 +458,9 @@ | |||
| 458 | <p>An <strong>INFORM</strong> command consists of a 5-frame multipart message, formatted as follows.</p> | 458 | <p>An <strong>INFORM</strong> command consists of a 5-frame multipart message, formatted as follows.</p> |
| 459 | <table border="1" class="docutils"> | 459 | <table border="1" class="docutils"> |
| 460 | <colgroup> | 460 | <colgroup> |
| 461 | <col width="9%" /> | 461 | <col width="8%" /> |
| 462 | <col width="20%" /> | 462 | <col width="20%" /> |
| 463 | <col width="71%" /> | 463 | <col width="72%" /> |
| 464 | </colgroup> | 464 | </colgroup> |
| 465 | <thead valign="bottom"> | 465 | <thead valign="bottom"> |
| 466 | <tr class="row-odd"><th class="head">FRAME</th> | 466 | <tr class="row-odd"><th class="head">FRAME</th> |
| @@ -487,7 +487,7 @@ | |||
| 487 | </tr> | 487 | </tr> |
| 488 | <tr class="row-even"><td>4</td> | 488 | <tr class="row-even"><td>4</td> |
| 489 | <td>_QUEUE_NAME_</td> | 489 | <td>_QUEUE_NAME_</td> |
| 490 | <td>csv seperated names of queue the worker belongs to</td> | 490 | <td>csv seperated names of queue the worker belongs to.</td> |
| 491 | </tr> | 491 | </tr> |
| 492 | <tr class="row-odd"><td>5</td> | 492 | <tr class="row-odd"><td>5</td> |
| 493 | <td>worker</td> | 493 | <td>worker</td> |
diff --git a/py-modindex.html b/py-modindex.html index e438994..e611bf7 100644 --- a/py-modindex.html +++ b/py-modindex.html | |||
| @@ -187,7 +187,7 @@ | |||
| 187 | <tr class="cg-1"> | 187 | <tr class="cg-1"> |
| 188 | <td></td> | 188 | <td></td> |
| 189 | <td> | 189 | <td> |
| 190 | <a href="utils.html#module-eventmq.utils"><code class="xref">eventmq.utils</code></a></td><td> | 190 | <a href="utils/index.html#module-eventmq.utils"><code class="xref">eventmq.utils</code></a></td><td> |
| 191 | <em></em></td></tr> | 191 | <em></em></td></tr> |
| 192 | <tr class="cg-1"> | 192 | <tr class="cg-1"> |
| 193 | <td></td> | 193 | <td></td> |
| @@ -197,11 +197,21 @@ | |||
| 197 | <tr class="cg-1"> | 197 | <tr class="cg-1"> |
| 198 | <td></td> | 198 | <td></td> |
| 199 | <td> | 199 | <td> |
| 200 | <a href="utils/devices.html#module-eventmq.utils.devices"><code class="xref">eventmq.utils.devices</code></a></td><td> | ||
| 201 | <em></em></td></tr> | ||
| 202 | <tr class="cg-1"> | ||
| 203 | <td></td> | ||
| 204 | <td> | ||
| 200 | <a href="utils/messages.html#module-eventmq.utils.messages"><code class="xref">eventmq.utils.messages</code></a></td><td> | 205 | <a href="utils/messages.html#module-eventmq.utils.messages"><code class="xref">eventmq.utils.messages</code></a></td><td> |
| 201 | <em></em></td></tr> | 206 | <em></em></td></tr> |
| 202 | <tr class="cg-1"> | 207 | <tr class="cg-1"> |
| 203 | <td></td> | 208 | <td></td> |
| 204 | <td> | 209 | <td> |
| 210 | <a href="utils/settings.html#module-eventmq.utils.settings"><code class="xref">eventmq.utils.settings</code></a></td><td> | ||
| 211 | <em></em></td></tr> | ||
| 212 | <tr class="cg-1"> | ||
| 213 | <td></td> | ||
| 214 | <td> | ||
| 205 | <a href="utils/timeutils.html#module-eventmq.utils.timeutils"><code class="xref">eventmq.utils.timeutils</code></a></td><td> | 215 | <a href="utils/timeutils.html#module-eventmq.utils.timeutils"><code class="xref">eventmq.utils.timeutils</code></a></td><td> |
| 206 | <em></em></td></tr> | 216 | <em></em></td></tr> |
| 207 | </table> | 217 | </table> |
diff --git a/receiver.html b/receiver.html index c72aa28..63af37c 100644 --- a/receiver.html +++ b/receiver.html | |||
| @@ -91,7 +91,7 @@ | |||
| 91 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 91 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 92 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 92 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 94 | <li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | 94 | <li class="toctree-l2"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> - Utilities</a></li> |
| 95 | </ul> | 95 | </ul> |
| 96 | </li> | 96 | </li> |
| 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> | 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> |
diff --git a/router.html b/router.html index 5166889..896c4a6 100644 --- a/router.html +++ b/router.html | |||
| @@ -91,7 +91,7 @@ | |||
| 91 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 91 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 92 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 92 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 94 | <li class="toctree-l2"><a class="reference internal" href="utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | 94 | <li class="toctree-l2"><a class="reference internal" href="utils/index.html"><code class="docutils literal"><span class="pre">utils</span></code> - Utilities</a></li> |
| 95 | </ul> | 95 | </ul> |
| 96 | </li> | 96 | </li> |
| 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> | 97 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> |
| @@ -149,6 +149,20 @@ | |||
| 149 | <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 | <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> |
| 150 | <dd><p>A simple router of messages</p> | 150 | <dd><p>A simple router of messages</p> |
| 151 | <dl class="method"> | 151 | <dl class="method"> |
| 152 | <dt id="eventmq.router.Router.add_scheduler"> | ||
| 153 | <code class="descname">add_scheduler</code><span class="sig-paren">(</span><em>scheduler_id</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.add_scheduler" title="Permalink to this definition">¶</a></dt> | ||
| 154 | <dd><p>Adds a scheduler to the queue to receive SCHEDULE commands</p> | ||
| 155 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 156 | <col class="field-name" /> | ||
| 157 | <col class="field-body" /> | ||
| 158 | <tbody valign="top"> | ||
| 159 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>scheduler_id</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – unique id of the scheduler to add</td> | ||
| 160 | </tr> | ||
| 161 | </tbody> | ||
| 162 | </table> | ||
| 163 | </dd></dl> | ||
| 164 | |||
| 165 | <dl class="method"> | ||
| 152 | <dt id="eventmq.router.Router.add_worker"> | 166 | <dt id="eventmq.router.Router.add_worker"> |
| 153 | <code class="descname">add_worker</code><span class="sig-paren">(</span><em>worker_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> | 167 | <code class="descname">add_worker</code><span class="sig-paren">(</span><em>worker_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> |
| 154 | <dd><p>Adds a worker to worker queues</p> | 168 | <dd><p>Adds a worker to worker queues</p> |
| @@ -157,7 +171,7 @@ | |||
| 157 | <col class="field-body" /> | 171 | <col class="field-body" /> |
| 158 | <tbody valign="top"> | 172 | <tbody valign="top"> |
| 159 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | 173 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> |
| 160 | <li><strong>worker_id</strong> – unique id of the worker to add</li> | 174 | <li><strong>worker_id</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – unique id of the worker to add</li> |
| 161 | <li><strong>queues</strong> – queue or queues this worker should be a member of</li> | 175 | <li><strong>queues</strong> – queue or queues this worker should be a member of</li> |
| 162 | </ul> | 176 | </ul> |
| 163 | </td> | 177 | </td> |
| @@ -167,6 +181,13 @@ | |||
| 167 | </dd></dl> | 181 | </dd></dl> |
| 168 | 182 | ||
| 169 | <dl class="method"> | 183 | <dl class="method"> |
| 184 | <dt id="eventmq.router.Router.clean_up_dead_schedulers"> | ||
| 185 | <code class="descname">clean_up_dead_schedulers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.clean_up_dead_schedulers" title="Permalink to this definition">¶</a></dt> | ||
| 186 | <dd><p>Loops through the list of schedulers and remove any schedulers who | ||
| 187 | the router hasn’t received a heartbeat in HEARTBEAT_TIMEOUT</p> | ||
| 188 | </dd></dl> | ||
| 189 | |||
| 190 | <dl class="method"> | ||
| 170 | <dt id="eventmq.router.Router.clean_up_dead_workers"> | 191 | <dt id="eventmq.router.Router.clean_up_dead_workers"> |
| 171 | <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> | 192 | <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> |
| 172 | <dd><p>Loops through the worker queues and removes any workers who haven’t | 193 | <dd><p>Loops through the worker queues and removes any workers who haven’t |
| @@ -174,6 +195,36 @@ responded in HEARTBEAT_TIMEOUT</p> | |||
| 174 | </dd></dl> | 195 | </dd></dl> |
| 175 | 196 | ||
| 176 | <dl class="method"> | 197 | <dl class="method"> |
| 198 | <dt id="eventmq.router.Router.get_available_worker"> | ||
| 199 | <code class="descname">get_available_worker</code><span class="sig-paren">(</span><em>queue_name='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.get_available_worker" title="Permalink to this definition">¶</a></dt> | ||
| 200 | <dd><p>Gets the job manager with the next available worker for the provided | ||
| 201 | queue.</p> | ||
| 202 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 203 | <col class="field-name" /> | ||
| 204 | <col class="field-body" /> | ||
| 205 | <tbody valign="top"> | ||
| 206 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>queue_name</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Name of the queue</p> | ||
| 207 | </td> | ||
| 208 | </tr> | ||
| 209 | <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first simple"> | ||
| 210 | <li><code class="xref py py-exc docutils literal"><span class="pre">NoAvailableWorkerSlotsError</span></code> – Raised when there are no available</li> | ||
| 211 | <li>slots in any the job managers.</li> | ||
| 212 | <li><code class="xref py py-exc docutils literal"><span class="pre">UnknownQueueError</span></code> – Raised when <code class="docutils literal"><span class="pre">queue_name</span></code> is not found in | ||
| 213 | self.queues</li> | ||
| 214 | </ul> | ||
| 215 | </td> | ||
| 216 | </tr> | ||
| 217 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">uuid of the job manager with an available worker slot</p> | ||
| 218 | </td> | ||
| 219 | </tr> | ||
| 220 | <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">(str)</p> | ||
| 221 | </td> | ||
| 222 | </tr> | ||
| 223 | </tbody> | ||
| 224 | </table> | ||
| 225 | </dd></dl> | ||
| 226 | |||
| 227 | <dl class="method"> | ||
| 177 | <dt id="eventmq.router.Router.on_heartbeat"> | 228 | <dt id="eventmq.router.Router.on_heartbeat"> |
| 178 | <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> | 229 | <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> |
| 179 | <dd><p>a placeholder for a no-op command. The actual ‘logic’ for HEARTBEAT is | 230 | <dd><p>a placeholder for a no-op command. The actual ‘logic’ for HEARTBEAT is |
| @@ -209,11 +260,8 @@ and announces itself.</p> | |||
| 209 | 260 | ||
| 210 | <dl class="method"> | 261 | <dl class="method"> |
| 211 | <dt id="eventmq.router.Router.on_receive_request"> | 262 | <dt id="eventmq.router.Router.on_receive_request"> |
| 212 | <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> | 263 | <code class="descname">on_receive_request</code><span class="sig-paren">(</span><em>msg</em>, <em>depth=0</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.on_receive_request" title="Permalink to this definition">¶</a></dt> |
| 213 | <dd><p>This function is called when a message comes in from the client socket. | 264 | <dd><table class="docutils field-list" frame="void" rules="none"> |
| 214 | It then calls <cite>on_command</cite>. If <cite>on_command</cite> isn’t found, then a | ||
| 215 | warning is created.</p> | ||
| 216 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 217 | <col class="field-name" /> | 265 | <col class="field-name" /> |
| 218 | <col class="field-body" /> | 266 | <col class="field-body" /> |
| 219 | <tbody valign="top"> | 267 | <tbody valign="top"> |
| @@ -224,6 +272,33 @@ warning is created.</p> | |||
| 224 | </dd></dl> | 272 | </dd></dl> |
| 225 | 273 | ||
| 226 | <dl class="method"> | 274 | <dl class="method"> |
| 275 | <dt id="eventmq.router.Router.on_request"> | ||
| 276 | <code class="descname">on_request</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_request" title="Permalink to this definition">¶</a></dt> | ||
| 277 | <dd><p>Process a client REQUEST frame</p> | ||
| 278 | </dd></dl> | ||
| 279 | |||
| 280 | <dl class="classmethod"> | ||
| 281 | <dt id="eventmq.router.Router.prioritize_queue_list"> | ||
| 282 | <em class="property">classmethod </em><code class="descname">prioritize_queue_list</code><span class="sig-paren">(</span><em>unprioritized_iterable</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.prioritize_queue_list" title="Permalink to this definition">¶</a></dt> | ||
| 283 | <dd><p>Prioritize a given iterable in the format: ((PRIORITY, OBJ),..)</p> | ||
| 284 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 285 | <col class="field-name" /> | ||
| 286 | <col class="field-body" /> | ||
| 287 | <tbody valign="top"> | ||
| 288 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>unprioritized_iterable</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#iter" title="(in Python v2.7)"><em>iter</em></a>) – Any list, tuple, etc where the | ||
| 289 | 0-index key is an integer to use as priority. Largest numbers | ||
| 290 | come first.</td> | ||
| 291 | </tr> | ||
| 292 | <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body">IndexError - There was no 0-index element.</td> | ||
| 293 | </tr> | ||
| 294 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">sorted <code class="xref py py-class docutils literal"><span class="pre">EMQdeque</span></code> with largest priorites being indexed | ||
| 295 | smaller. E.g. ((20,’a’ ), (14, ‘b’), (‘12’, c))</td> | ||
| 296 | </tr> | ||
| 297 | </tbody> | ||
| 298 | </table> | ||
| 299 | </dd></dl> | ||
| 300 | |||
| 301 | <dl class="method"> | ||
| 227 | <dt id="eventmq.router.Router.process_worker_message"> | 302 | <dt id="eventmq.router.Router.process_worker_message"> |
| 228 | <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> | 303 | <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> |
| 229 | <dd><p>This method is called when a message comes in from the worker socket. | 304 | <dd><p>This method is called when a message comes in from the worker socket. |
| @@ -256,14 +331,22 @@ worker slot, so you may see duplicate addresses.</p> | |||
| 256 | <p>{‘default’: [‘w1’, ‘w2’, ‘w1’, ‘w4’]}</p> | 331 | <p>{‘default’: [‘w1’, ‘w2’, ‘w1’, ‘w4’]}</p> |
| 257 | </dd></dl> | 332 | </dd></dl> |
| 258 | 333 | ||
| 334 | <dl class="attribute"> | ||
| 335 | <dt id="eventmq.router.Router.received_disconnect"> | ||
| 336 | <code class="descname">received_disconnect</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.router.Router.received_disconnect" title="Permalink to this definition">¶</a></dt> | ||
| 337 | <dd><p>Set to True when the router should die.</p> | ||
| 338 | </dd></dl> | ||
| 339 | |||
| 259 | <dl class="method"> | 340 | <dl class="method"> |
| 260 | <dt id="eventmq.router.Router.requeue_worker"> | 341 | <dt id="eventmq.router.Router.requeue_worker"> |
| 261 | <code class="descname">requeue_worker</code><span class="sig-paren">(</span><em>worker_id</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.requeue_worker" title="Permalink to this definition">¶</a></dt> | 342 | <code class="descname">requeue_worker</code><span class="sig-paren">(</span><em>worker_id</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.requeue_worker" title="Permalink to this definition">¶</a></dt> |
| 262 | <dd><p>Add a worker back to the pools for which it is a member of.</p> | 343 | <dd><p>Add a worker back to the pools for which it is a member of.</p> |
| 263 | <div class="admonition note"> | 344 | </dd></dl> |
| 264 | <p class="first admonition-title">Note</p> | 345 | |
| 265 | <p class="last">This will (correctly) add duplicate items into the queues.</p> | 346 | <dl class="method"> |
| 266 | </div> | 347 | <dt id="eventmq.router.Router.reset_heartbeat_counters"> |
| 348 | <code class="descname">reset_heartbeat_counters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.reset_heartbeat_counters" title="Permalink to this definition">¶</a></dt> | ||
| 349 | <dd><p>Reset all the counters for heartbeats back to 0</p> | ||
| 267 | </dd></dl> | 350 | </dd></dl> |
| 268 | 351 | ||
| 269 | <dl class="method"> | 352 | <dl class="method"> |
| @@ -272,6 +355,28 @@ worker slot, so you may see duplicate addresses.</p> | |||
| 272 | <dd><p>Kick off router with logging and settings import</p> | 355 | <dd><p>Kick off router with logging and settings import</p> |
| 273 | </dd></dl> | 356 | </dd></dl> |
| 274 | 357 | ||
| 358 | <dl class="attribute"> | ||
| 359 | <dt id="eventmq.router.Router.scheduler_queue"> | ||
| 360 | <code class="descname">scheduler_queue</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.router.Router.scheduler_queue" title="Permalink to this definition">¶</a></dt> | ||
| 361 | <dd><p><em>Queue for schedulers to use</em></p> | ||
| 362 | </dd></dl> | ||
| 363 | |||
| 364 | <dl class="attribute"> | ||
| 365 | <dt id="eventmq.router.Router.schedulers"> | ||
| 366 | <code class="descname">schedulers</code><em class="property"> = None</em><a class="headerlink" href="#eventmq.router.Router.schedulers" title="Permalink to this definition">¶</a></dt> | ||
| 367 | <dd><p>Scheduler clients. Clients are able to send SCHEDULE commands that | ||
| 368 | need to be routed to a scheduler, which will keep track of time and | ||
| 369 | run the job. | ||
| 370 | Contains dictionaries:</p> | ||
| 371 | <blockquote> | ||
| 372 | <div><dl class="docutils"> | ||
| 373 | <dt>self.schedulers[<scheduler_zmq_id>] = {</dt> | ||
| 374 | <dd>‘hb’: <last_recv_heartbeat>,</dd> | ||
| 375 | </dl> | ||
| 376 | <p>}</p> | ||
| 377 | </div></blockquote> | ||
| 378 | </dd></dl> | ||
| 379 | |||
| 275 | <dl class="method"> | 380 | <dl class="method"> |
| 276 | <dt id="eventmq.router.Router.send_ack"> | 381 | <dt id="eventmq.router.Router.send_ack"> |
| 277 | <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> | 382 | <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> |
| @@ -311,14 +416,27 @@ needed when building messages</p> | |||
| 311 | </dd></dl> | 416 | </dd></dl> |
| 312 | 417 | ||
| 313 | <dl class="method"> | 418 | <dl class="method"> |
| 419 | <dt id="eventmq.router.Router.send_schedulers_heartbeats"> | ||
| 420 | <code class="descname">send_schedulers_heartbeats</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_schedulers_heartbeats" title="Permalink to this definition">¶</a></dt> | ||
| 421 | <dd><p>Send HEARTBEATs to all registered schedulers</p> | ||
| 422 | </dd></dl> | ||
| 423 | |||
| 424 | <dl class="method"> | ||
| 314 | <dt id="eventmq.router.Router.send_workers_heartbeats"> | 425 | <dt id="eventmq.router.Router.send_workers_heartbeats"> |
| 315 | <code class="descname">send_workers_heartbeats</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_workers_heartbeats" title="Permalink to this definition">¶</a></dt> | 426 | <code class="descname">send_workers_heartbeats</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.send_workers_heartbeats" title="Permalink to this definition">¶</a></dt> |
| 316 | <dd><p>Send heartbeats to all registered workers.</p> | 427 | <dd><p>Send HEARTBEATs to all registered workers.</p> |
| 428 | </dd></dl> | ||
| 429 | |||
| 430 | <dl class="method"> | ||
| 431 | <dt id="eventmq.router.Router.sighup_handler"> | ||
| 432 | <code class="descname">sighup_handler</code><span class="sig-paren">(</span><em>signum</em>, <em>frame</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.sighup_handler" title="Permalink to this definition">¶</a></dt> | ||
| 433 | <dd><p>Reloads the configuration and rebinds the ports. Exectued when the | ||
| 434 | process receives a SIGHUP from the system.</p> | ||
| 317 | </dd></dl> | 435 | </dd></dl> |
| 318 | 436 | ||
| 319 | <dl class="method"> | 437 | <dl class="method"> |
| 320 | <dt id="eventmq.router.Router.start"> | 438 | <dt id="eventmq.router.Router.start"> |
| 321 | <code class="descname">start</code><span class="sig-paren">(</span><em>frontend_addr='tcp://127.0.0.1:47290'</em>, <em>backend_addr='tcp://127.0.0.1:47291'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.start" title="Permalink to this definition">¶</a></dt> | 439 | <code class="descname">start</code><span class="sig-paren">(</span><em>frontend_addr='tcp://127.0.0.1:47291'</em>, <em>backend_addr='tcp://127.0.0.1:47290'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.router.Router.start" title="Permalink to this definition">¶</a></dt> |
| 322 | <dd><p>Begin listening for connections on the provided connection strings</p> | 440 | <dd><p>Begin listening for connections on the provided connection strings</p> |
| 323 | <table class="docutils field-list" frame="void" rules="none"> | 441 | <table class="docutils field-list" frame="void" rules="none"> |
| 324 | <col class="field-name" /> | 442 | <col class="field-name" /> |
| @@ -350,8 +468,11 @@ here.</p> | |||
| 350 | <dl class="docutils"> | 468 | <dl class="docutils"> |
| 351 | <dt><strong>Keys</strong></dt> | 469 | <dt><strong>Keys</strong></dt> |
| 352 | <dd><ul class="first last simple"> | 470 | <dd><ul class="first last simple"> |
| 353 | <li>queues: list() of queues the worker belongs to</li> | 471 | <li><code class="docutils literal"><span class="pre">queues</span></code>: list() of queues the worker belongs to</li> |
| 354 | <li>hb: monotonic timestamp of the last received message from worker</li> | 472 | <li><code class="docutils literal"><span class="pre">hb</span></code>: monotonic timestamp of the last received message from |
| 473 | worker</li> | ||
| 474 | <li><code class="docutils literal"><span class="pre">available_slots</span></code>: int count of jobs this manager can still | ||
| 475 | process.</li> | ||
| 355 | </ul> | 476 | </ul> |
| 356 | </dd> | 477 | </dd> |
| 357 | </dl> | 478 | </dl> |
diff --git a/searchindex.js b/searchindex.js index 4f827de..a0264eb 100644 --- a/searchindex.js +++ b/searchindex.js | |||
| @@ -1 +1 @@ | |||
| Search.setIndex({envversion:46,filenames:["api","client","client/messages","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","utils","utils/classes","utils/messages","utils/timeutils"],objects:{"eventmq.client":{messages:[2,0,0,"-"]},"eventmq.client.messages":{build_module_path:[2,2,1,""],defer_job:[2,2,1,""],job:[2,2,1,""],send_request:[2,2,1,""]},"eventmq.exceptions":{EventMQError:[4,5,1,""],InvalidMessageError:[4,5,1,""],MessageError:[4,5,1,""],PeerGoneAwayError:[4,5,1,""]},"eventmq.jobmanager":{JobManager:[6,4,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[6,3,1,""],active_jobs:[6,1,1,""],available_workers:[6,1,1,""],incoming:[6,1,1,""],jobmanager_main:[6,3,1,""],name:[6,1,1,""],on_ack:[6,3,1,""],on_heartbeat:[6,3,1,""],on_request:[6,3,1,""],process_message:[6,3,1,""],reset:[6,3,1,""],send_inform:[6,3,1,""],send_ready:[6,3,1,""],start:[6,3,1,""]},"eventmq.poller":{Poller:[7,4,1,""]},"eventmq.poller.Poller":{"__init__":[7,3,1,""],poll:[7,3,1,""],register:[7,3,1,""],unregister:[7,3,1,""]},"eventmq.receiver":{Receiver:[9,4,1,""]},"eventmq.receiver.Receiver":{"__init__":[9,3,1,""],connect:[9,3,1,""],listen:[9,3,1,""],name:[9,1,1,""],ready:[9,1,1,""],unbind:[9,3,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.router":{Router:[10,4,1,""]},"eventmq.router.Router":{add_worker:[10,3,1,""],clean_up_dead_workers:[10,3,1,""],on_heartbeat:[10,3,1,""],on_inform:[10,3,1,""],on_ready:[10,3,1,""],on_receive_request:[10,3,1,""],process_worker_message:[10,3,1,""],queue_message:[10,3,1,""],queues:[10,1,1,""],requeue_worker:[10,3,1,""],router_main:[10,3,1,""],send_ack:[10,3,1,""],send_heartbeat:[10,3,1,""],send_workers_heartbeats:[10,3,1,""],start:[10,3,1,""],waiting_messages:[10,1,1,""],workers:[10,1,1,""]},"eventmq.sender":{Sender:[11,4,1,""]},"eventmq.sender.Sender":{"__init__":[11,3,1,""],connect:[11,3,1,""],listen:[11,3,1,""],name:[11,1,1,""],ready:[11,1,1,""],rebuild:[11,3,1,""],unbind:[11,3,1,""],zcontext:[11,1,1,""],zsocket:[11,1,1,""]},"eventmq.utils":{classes:[13,0,0,"-"],messages:[14,0,0,"-"],random_characters:[12,2,1,""],timeutils:[15,0,0,"-"]},"eventmq.utils.classes":{HeartbeatMixin:[13,4,1,""],ZMQReceiveMixin:[13,4,1,""],ZMQSendMixin:[13,4,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[13,3,1,""],"__weakref__":[13,1,1,""],is_dead:[13,3,1,""],reset_heartbeat_counters:[13,3,1,""],send_heartbeat:[13,3,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[13,1,1,""],recv:[13,3,1,""],recv_multipart:[13,3,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[13,1,1,""],send:[13,3,1,""],send_multipart:[13,3,1,""]},"eventmq.utils.messages":{fwd_emqp_router_message:[14,2,1,""],generate_msgid:[14,2,1,""],parse_message:[14,2,1,""],parse_router_message:[14,2,1,""],send_emqp_message:[14,2,1,""],send_emqp_router_message:[14,2,1,""]},"eventmq.utils.timeutils":{monotonic:[15,2,1,""],seconds_until:[15,2,1,""],timestamp:[15,2,1,""]},eventmq:{client:[1,0,0,"-"],exceptions:[4,0,0,"-"],jobmanager:[6,0,0,"-"],poller:[7,0,0,"-"],receiver:[9,0,0,"-"],router:[10,0,0,"-"],sender:[11,0,0,"-"],utils:[12,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","function","Python function"],"3":["py","method","Python method"],"4":["py","class","Python class"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:function","3":"py:method","4":"py:class","5":"py:exception"},terms:{"0mq":[8,13],"5min":[],"__init__":[6,7,9,11,13],"__weakref__":13,"_empty_":8,"_headers_":8,"_issu":[],"_msg_":8,"_msgid_":8,"_queue_name_":8,"_recipient_id":13,"_sourc":[],"_topic_name_":8,"_unix_ts_":8,"abstract":8,"case":[8,15],"class":[],"default":[2,6,8,9,10,11],"float":[13,15],"function":[2,10],"import":[2,3,6,10],"int":[2,7],"long":7,"new":10,"public":8,"return":[2,3,7,9,11,12,13,14,15],"true":[2,8,9,11,13],"while":8,abl:[],about:[6,8,10],absolut:3,accept:8,account:[10,14],ack:[8,10],ackd_msgid:6,acknowledg:[8,10],act:[1,8],activ:6,active_job:6,actual:[6,10],add:10,add_schedul:[],add_work:10,addr:[6,9,11],address:[],after:8,agre:8,all:[2,4,6,8,9,10,11,13],allow:8,alon:2,alpha:8,alreadi:10,also:[],alwai:[2,6],and_data:14,ani:[2,8,10],announc:10,anoth:[6,10],anyth:[],api:[],appear:7,appened:10,applic:[2,8],architectur:[],aren:[],arg2:2,arg3:2,arg:[2,6,7,9,10,11,13],argument:[],arithmet:15,around:[],assum:[],attempt:4,attr:7,automat:13,avail:[6,10],available_work:6,awaiting_ack:6,back:[8,10,13],backend_addr:10,base:[4,7],basi:8,becaus:10,becom:6,been:[2,13],befor:[2,7,8],begin:[6,10],belong:[8,10],below:8,best:2,between:8,bin:[],block:2,bool:[2,9,11,13],boot:15,both:[7,8],box:2,broadcast:8,broker:8,buffer:10,build:[2,10,11],build_module_path:2,built:8,bulid:9,busi:6,calcul:15,call:[6,7,10],callabl:[2,6,9],can:[1,2,8,10,14],certain:[],chang:[6,8],charact:12,check:[2,9,11,13],class_arg:[2,6],class_kwarg:[2,6],clean_up_dead_schedul:[],clean_up_dead_work:10,client:[],clock:[],close:[6,15],code:[3,5],colon:2,column:[],com:[],come:[2,10],comma:8,command:[2,6,8,10,13,14],complet:8,compon:8,configur:2,connction:[9,11],connect:[6,8,9,10,11,13,14],consist:8,contact:4,contain:[1,8,12],content:[],context:[9,11],convers:8,convienc:[7,13],correctli:10,count:[6,8,10,15],counter:13,cpu:2,creat:[10,11,12],cross:[],csv:8,current:[6,9,11],custom:10,data:[10,14],deal:12,dealer:11,death:13,debug:8,decor:2,decrypt:2,def:[],defeat:8,defer:2,defer_job:2,defin:[6,8,9,11,13],deliv:8,denot:[],describ:8,descript:8,detail:[2,8],detect:8,determin:8,devic:[7,13,14],dialog:8,dict:[2,6,7],dictionari:[7,8],did:2,die:[],differ:3,directli:[7,13],disabl:2,disconnect:[8,9],distribut:8,doe:[],doesn:7,dot:2,down:15,dst:15,duplic:10,dure:11,effort:2,either:8,els:[3,8],empti:8,emqp:[],emqpservic:[],enabl:2,encount:[2,4],end:[2,13],enderlab:[],ensur:[6,8],entri:10,error:2,even:8,event:7,eventloop:6,eventmqerror:4,everi:6,exampl:10,except:[],execut:[2,6,8],exist:[4,6],explicitli:13,expos:6,extra:8,fail:[2,8],failur:2,fair:8,fals:[2,6,8,9,11,13],few:3,field:8,file:[],find:13,finish:[8,10],first:8,fit:8,flag:[2,7],follow:[2,8],form:6,format:[2,6,8,14],forward:14,found:10,foundat:8,frame:[],free:[6,8],from:[4,6,7,8,9,10,11,15],frontend_addr:10,func:[2,6],fwd_emqp_router_messag:14,gener:[6,7,8,9,11,14],generate_msgid:14,github:[],give:2,given:10,gmtime:[],gnu:8,goal:[],good:13,guarante:[2,8],guarente:2,hand:12,handl:[6,8,10],happen:[7,10,11],hasn:[],have:[2,6,13,14],haven:10,header:[],heartbeat:[],heartbeat_timeout:10,heartbeati:13,heartbeatmixin:13,heavi:8,help:[],helper:[],here:[8,10],home:[],hope:8,how:[2,7],html:8,http:8,ident:8,identifi:10,ietf:8,ignor:8,immediatli:2,implement:[8,13],impli:8,includ:[2,8],incom:6,index:5,inform:[6,8,10],inform_typ:[],inherit:4,initi:2,insert:[8,13],instal:3,instanc:6,instanti:[2,6],interpret:8,interv:8,interval_min:[],interval_sec:[],intervalit:[],intes:2,invalidmessageerror:4,is_dead:13,is_heartbeat_en:[],isn:10,issu:[3,5,8],item:10,iter:7,itself:10,job:[],jobmanag:[],jobmanager_main:6,keep:[],kei:[7,8,10],kick:[6,10],know:[2,6,10],kwarg2:2,kwarg:[2,6,7,9,10,11,13],languag:[],last:[2,10],last_recv_heartbeat:[],later:[8,10],least:8,leav:8,length:12,lesser:8,let:8,lib:[],licens:[],like:[6,12,13],list:[2,6,8,10,13],listen:[6,9,10,11],locat:2,log:[2,6,10],logic:[6,10],longer:4,look:13,loop:[7,10],lower:10,mai:[2,8,10,13],main:6,make:12,malform:4,manag:[],mani:[2,8,11],manual:8,master:8,match:[],member:10,memebership:10,merchant:8,mess:15,messag:[],message_bodi:14,message_id:14,messageerror:4,met:13,meta:[10,14],method:[2,6,7,10,13],minut:[],mode:[],modifi:8,modul:[1,2,5,6,12],monoton:[10,13,15],more:[8,12],most:6,msg:[6,8,10,14],msg_id:[],msgid:[6,10],multipart:[8,13],must:[8,13],name:[2,6,8,9,10,11],need:[10,11],never:15,next:7,none:[2,6,9,10,11,13,14],noop:6,note:[6,9,11],now:13,number:[6,15],numer:[],object:[7,13],occur:13,off:[6,10],on_ack:6,on_command:[6,10],on_emqp_command:[],on_heartbeat:[6,10],on_inform:10,on_readi:10,on_receive_repli:[],on_receive_request:10,on_recv:9,on_request:6,on_schedul:[],onc:8,onli:[],onlin:10,option:[2,6,8,9,11,14],org:8,orient:8,origin:8,other:[2,8],otherwis:[2,6,9,11,13],out:[6,13],outgo:[],overwhelm:2,own:13,packag:[],page:5,param:2,paramet:[2,6,7,9,10,11,13,14],pars:[6,14],parse_messag:14,parse_router_messag:14,part:[8,14],particular:[8,11],pass:[2,8,9],path:[2,6],payload:14,peer:[4,8,13],peergoneawayerror:4,per:10,pictur:8,pip:[],placehold:[6,10],point:6,poll:7,poller:[],pollin:7,pollout:7,pool:[8,10],pop:10,portion:6,possibl:3,practic:13,prefix:14,prepend:8,pretti:8,problem:4,process:[6,8,10,11],process_messag:6,process_worker_messag:10,prop:[],properti:[9,11],protocol:[],protocol_vers:13,provid:[10,13],pub:8,publish:8,purpos:8,py2:[],py3:[],python2:[],queu:2,queue:[2,6,8,10],queue_messag:10,quick:2,rais:[2,4,9,11,14],random:[12,14],random_charact:12,raw:13,raw_messag:[],readi:[6,8,9,10,11],rebuild:11,receiv:[],received_disconnect:[],recent:[8,10],reciev:[],recip:[],recipi:[10,13,14],recipient_id:14,recommend:8,reconnect:11,recv:13,recv_multipart:13,redistribut:8,refer:[6,13],regist:[7,10],regular:8,rel:3,reliabl:8,remain:7,remot:13,remov:[8,10],reopen:6,rep:9,repli:[2,6,8,14],reply_request:2,repres:[],req:11,request:[],requeue_work:10,requir:8,requri:[],reset:[6,13],reset_heartbeat_count:13,resourc:[6,8],respond:[8,10],respons:[2,6,9,10,11],restart:[8,11],retri:[2,8],retry_count:2,rfc2119:8,rfc:8,robin:8,roughli:11,round:8,rout:[8,10],router:[],router_main:10,run:[2,6,8],sake:[],same:11,schedul:[],scheduler_id:[],scheduler_queu:[],scheduler_zmq_id:[],search:5,second:15,seconds_until:15,see:[7,8,10],self:[6,10,11],send:[2,4,6,8,10,11,13,14],send_ack:10,send_emqp_messag:14,send_emqp_router_messag:14,send_heartbeat:[10,13],send_inform:6,send_messag:[],send_multipart:13,send_raw:[],send_readi:6,send_request:2,send_schedule_request:[],send_schedulers_heartbeat:[],send_workers_heartbeat:10,sender:[],sender_id:14,sent:[8,10,13],seper:[2,8],serv:8,server:[6,8],servic:8,service_typ:[],set:[2,6,7,8,10,11,13],shall:8,shalt:[],should:[2,4,6,7,8,9,10,11],shown:8,simpl:[10,12],sinc:15,singl:8,site:[],skip:[11,13],skip_zmqstream:11,slot:[6,10],socket:[2,6,7,8,9,10,11,13,14],softwar:8,some:[2,6,12,13,14],someon:8,someth:[2,11,13,15],somewher:3,sourc:[3,5],spawn:6,specif:[],specifi:[8,12,13],start:[],start_valu:[],state:13,statu:8,stop:8,store:[6,10],str:[2,6,9,10,11,12,13,14],string:[2,6,8,9,10,11,14],structur:4,sub:8,subclass:4,subcmd:6,subcommand:[2,6],subject:8,subset:8,subtract:15,success:8,successfulli:2,system:3,take:[6,10,11,14],task:[2,6],tcp:[6,10],tell:6,term:8,than:[],thei:2,them:9,thi:[1,2,4,6,7,8,9,10,11,12,13,15],thing:[2,6,11,12,13,14],thou:[],threshold:13,through:[8,10],thy:[],time:[],timeout:7,timestamp:[8,10,15],timeutil:[],timezon:[],tip:3,tool:8,topic:[],topolog:[],tornado:6,trace:8,track:13,tri:2,tupl:[7,13,14],type:[2,8,9,11,12,13],type_:[],typecast:7,typeerror:9,unbind:[9,11],undefin:7,under:8,uniqu:[6,8,10],unit:6,univers:[],unix:8,unless:[6,9,11],unregist:7,unschedul:8,until:15,untouch:[10,14],unus:[],updat:[],upon:8,upstream:6,usag:[],usual:[],utilit:[],utlitii:[],uuid:[6,9,11],vagrant:[],valid:8,valu:[2,7,8,13,14,15],valueerror:[],variabl:13,version:[3,8,13],via:2,virtualenv:[],wait:[2,6,7],waiting_messag:10,walk:6,want:[],warn:10,warranti:8,weak:13,web:8,well:8,went:2,when:[1,2,3,4,6,8,9,10,11,13],where:[2,8,10,15],which:[8,10],who:[1,10],wish:[2,14],without:[8,11],word:8,work:[3,6,13],worker:[],worker_id:10,worri:8,would:[2,15],wrap:[],wrong:2,you:[2,3,8,10,11,13,14],your:[2,8,13],zcontext:[9,11],zeromq:8,zmq:[7,8,9,10,11,13,14],zmqreceivemixin:13,zmqsendmixin:13,zmqstream:11,zsocket:[9,11]},titles:["API Documentation","<code class=\"docutils literal\"><span class=\"pre\">client</span></code> – Client Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> – Client Messaging","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":13,address:8,api:0,architectur:8,client:[1,2,8],contribut:3,document:[0,5],emqp:8,eventmq:[3,5,8],except:4,frame:8,get:[],global:8,glossari:[],goal:8,guid:[],header:8,heartbeat:8,indic:5,job:6,jobmanag:6,languag:8,licens:8,manag:6,messag:[2,14],poller:7,protocol:8,receiv:9,request:8,router:[8,10],schedul:8,sender:11,specif:8,start:[],style:[],tabl:5,time:15,timeutil:15,topolog:8,util:[1,12,13,14],utilit:15,welcom:[],worker:8}}) \ No newline at end of file | Search.setIndex({envversion:46,filenames:["api","client","client/messages","contributing","exceptions","index","jobmanager","poller","protocol","receiver","router","sender","utils/classes","utils/devices","utils/index","utils/messages","utils/settings","utils/timeutils"],objects:{"eventmq.client":{messages:[2,0,0,"-"]},"eventmq.client.messages":{build_module_path:[2,4,1,""],defer_job:[2,4,1,""],job:[2,4,1,""],schedule:[2,4,1,""],send_request:[2,4,1,""],send_schedule_request:[2,4,1,""]},"eventmq.exceptions":{EventMQError:[4,5,1,""],InvalidMessageError:[4,5,1,""],MessageError:[4,5,1,""],NoAvailableWorkerSlotsError:[4,5,1,""],PeerGoneAwayError:[4,5,1,""],UnknownQueueError:[4,5,1,""]},"eventmq.jobmanager":{JobManager:[6,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[6,2,1,""],jobmanager_main:[6,2,1,""],name:[6,1,1,""],on_heartbeat:[6,2,1,""],on_request:[6,2,1,""],outgoing:[6,1,1,""],request_queue:[6,1,1,""],send_ready:[6,2,1,""],workers:[6,1,1,""]},"eventmq.poller":{Poller:[7,3,1,""]},"eventmq.poller.Poller":{"__init__":[7,2,1,""],poll:[7,2,1,""],register:[7,2,1,""],unregister:[7,2,1,""]},"eventmq.receiver":{Receiver:[9,3,1,""]},"eventmq.receiver.Receiver":{"__init__":[9,2,1,""],connect:[9,2,1,""],listen:[9,2,1,""],name:[9,1,1,""],ready:[9,1,1,""],unbind:[9,2,1,""],zcontext:[9,1,1,""],zsocket:[9,1,1,""]},"eventmq.router":{Router:[10,3,1,""]},"eventmq.router.Router":{add_scheduler:[10,2,1,""],add_worker:[10,2,1,""],clean_up_dead_schedulers:[10,2,1,""],clean_up_dead_workers:[10,2,1,""],get_available_worker:[10,2,1,""],on_heartbeat:[10,2,1,""],on_inform:[10,2,1,""],on_ready:[10,2,1,""],on_receive_request:[10,2,1,""],on_request:[10,2,1,""],prioritize_queue_list:[10,6,1,""],process_worker_message:[10,2,1,""],queue_message:[10,2,1,""],queues:[10,1,1,""],received_disconnect:[10,1,1,""],requeue_worker:[10,2,1,""],reset_heartbeat_counters:[10,2,1,""],router_main:[10,2,1,""],scheduler_queue:[10,1,1,""],schedulers:[10,1,1,""],send_ack:[10,2,1,""],send_heartbeat:[10,2,1,""],send_schedulers_heartbeats:[10,2,1,""],send_workers_heartbeats:[10,2,1,""],sighup_handler:[10,2,1,""],start:[10,2,1,""],waiting_messages:[10,1,1,""],workers:[10,1,1,""]},"eventmq.sender":{Sender:[11,3,1,""]},"eventmq.sender.Sender":{"__init__":[11,2,1,""],connect:[11,2,1,""],listen:[11,2,1,""],name:[11,1,1,""],ready:[11,1,1,""],rebuild:[11,2,1,""],unbind:[11,2,1,""],zcontext:[11,1,1,""],zsocket:[11,1,1,""]},"eventmq.utils":{classes:[12,0,0,"-"],devices:[13,0,0,"-"],messages:[15,0,0,"-"],random_characters:[14,4,1,""],settings:[16,0,0,"-"],timeutils:[17,0,0,"-"],zero_index_cmp:[14,4,1,""]},"eventmq.utils.classes":{EMQPService:[12,3,1,""],EMQdeque:[12,3,1,""],HeartbeatMixin:[12,3,1,""],ZMQReceiveMixin:[12,3,1,""],ZMQSendMixin:[12,3,1,""]},"eventmq.utils.classes.EMQPService":{"__weakref__":[12,1,1,""],is_heartbeat_enabled:[12,1,1,""],on_ack:[12,2,1,""],process_message:[12,2,1,""],reset:[12,2,1,""],send_inform:[12,2,1,""],start:[12,2,1,""]},"eventmq.utils.classes.EMQdeque":{"__init__":[12,2,1,""],"__weakref__":[12,1,1,""],append:[12,2,1,""],appendleft:[12,2,1,""],extend:[12,2,1,""],is_empty:[12,2,1,""],is_full:[12,2,1,""],is_pfull:[12,2,1,""],pop:[12,2,1,""],popleft:[12,2,1,""],remove:[12,2,1,""]},"eventmq.utils.classes.HeartbeatMixin":{"__init__":[12,2,1,""],"__weakref__":[12,1,1,""],is_dead:[12,2,1,""],reset_heartbeat_counters:[12,2,1,""],send_heartbeat:[12,2,1,""]},"eventmq.utils.classes.ZMQReceiveMixin":{"__weakref__":[12,1,1,""],recv:[12,2,1,""],recv_multipart:[12,2,1,""]},"eventmq.utils.classes.ZMQSendMixin":{"__weakref__":[12,1,1,""],send:[12,2,1,""],send_multipart:[12,2,1,""]},"eventmq.utils.devices":{generate_device_name:[13,4,1,""]},"eventmq.utils.messages":{fwd_emqp_router_message:[15,4,1,""],generate_msgid:[15,4,1,""],parse_message:[15,4,1,""],parse_router_message:[15,4,1,""],send_emqp_message:[15,4,1,""],send_emqp_router_message:[15,4,1,""]},"eventmq.utils.settings":{import_settings:[16,4,1,""]},"eventmq.utils.timeutils":{IntervalIter:[17,3,1,""],monotonic:[17,4,1,""],seconds_until:[17,4,1,""],timestamp:[17,4,1,""]},"eventmq.utils.timeutils.IntervalIter":{"__init__":[17,2,1,""],"__weakref__":[17,1,1,""]},eventmq:{client:[1,0,0,"-"],exceptions:[4,0,0,"-"],jobmanager:[6,0,0,"-"],poller:[7,0,0,"-"],receiver:[9,0,0,"-"],router:[10,0,0,"-"],sender:[11,0,0,"-"],utils:[14,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","class","Python class"],"4":["py","function","Python function"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:class","4":"py:function","5":"py:exception","6":"py:classmethod"},terms:{"0mq":[8,12],"5min":17,"__init__":[6,7,9,11,12,17],"__weakref__":[12,17],"_empty_":8,"_headers_":8,"_issu":[],"_msg_":8,"_msgid_":8,"_queue_name_":8,"_recipient_id":12,"_sourc":[],"_topic_name_":8,"_unix_ts_":8,"abstract":8,"boolean":12,"case":[8,12,17],"class":[],"default":[2,6,8,9,10,11,12],"float":[12,17],"function":2,"import":[2,3,6,10,16],"int":[2,7,10,12,17],"long":[7,12],"new":10,"public":8,"return":[2,3,7,9,10,11,12,13,14,15,17],"true":[2,8,9,10,11,12],"while":8,abl:10,about:[6,8,10],absolut:3,accept:[8,12],account:[10,15],ack:[8,10],ackd_msgid:12,acknowledg:[8,10],act:[1,8],activ:[],active_job:[],actual:[6,10],add:10,add_schedul:10,add_work:10,addr:[9,11,12],address:[],after:8,agre:8,all:[2,4,6,8,9,10,11,12],allow:8,alon:2,alpha:8,alreadi:10,also:12,alwai:2,and_data:15,ani:[2,8,10],announc:10,anoth:[6,10],anyth:[],api:[],appear:7,append:12,appendleft:12,appened:10,appli:16,applic:[2,8],architectur:[],aren:[],arg2:2,arg3:2,arg:[2,6,7,9,10,11,12],argument:12,arithmet:17,around:[],ascii:13,assum:17,attempt:4,attr:7,automat:12,avail:[4,10],available_slot:10,available_work:[],awaiting_ack:12,back:[8,10,12],backend_addr:10,base:[4,7,12],basi:8,becaus:[10,12],becom:[],been:[2,12],befor:[2,7,8],begin:[10,12],belong:[8,10],below:8,best:2,between:[2,8],bin:[],block:2,bool:[2,9,11,12],boot:17,both:[7,8],box:2,broadcast:8,broker:[8,12],buffer:10,build:[2,10,11],build_module_path:2,built:8,bulid:9,busi:[],calcul:17,call:[7,10,12],callabl:[2,6,9],callback:12,can:[1,2,8,10,12,13,15],captur:12,care:13,caus:13,certain:12,chang:8,charact:14,check:[2,9,11,12],class_arg:[2,6],class_kwarg:[2,6],classmethod:10,clean_up_dead_schedul:10,clean_up_dead_work:10,client:[],clock:17,close:[12,17],cmp:14,code:[3,5,12],collect:12,colon:2,column:[],com:[],come:[2,10],comma:8,command:[2,6,8,10,12,15],compar:14,complet:8,compon:8,configur:[2,10,16],connction:[9,11],connect:[8,9,10,11,12,15],consist:8,contact:4,contain:[1,8,10,12,14],content:[],context:[9,11],contruct:12,convers:8,convienc:[7,12],correctli:[],count:[6,8,10,17],counter:[10,12],cpu:2,creat:[10,11,14],cross:[],csv:8,current:[9,11,12],custom:10,data:[10,15],deal:14,dealer:11,death:12,debug:8,decor:2,decrypt:2,def:[],defeat:8,defer:2,defer_job:2,defin:[2,6,8,9,11,12,17],deliv:8,denot:2,depth:10,dequ:12,describ:8,descript:8,detail:[2,8],detect:8,determin:8,devic:[7,12,15],dialog:8,dict:[2,6,7],dictionari:[7,8,10],did:2,die:10,differ:3,directli:[7,12],disabl:2,disconnect:[8,9],distribut:8,doe:12,doesn:7,dot:2,down:17,dst:17,duplic:10,dure:11,effort:2,either:[8,12],element:[10,12],els:[3,8],empti:8,emqdequ:[10,12],emqp:[],emqpservic:12,enabl:[2,12],encod:13,encount:[2,4],end:[2,12],enderlab:[],ensur:[2,6,8,12],entri:10,error:[2,12,13],etc:10,even:8,event:[7,12],eventloop:[],eventmqerror:4,everi:6,everyth:13,exampl:[10,12,17],except:[],exectu:10,execut:[2,8,17],exist:[4,6],explicitli:12,expos:6,extend:12,extra:8,fail:[2,8],failur:2,fair:8,fals:[2,8,9,11,12],featur:13,few:3,field:8,file:[],find:12,finish:[8,10],first:[8,10,12],fit:8,flag:[2,7],follow:[2,8,12],form:12,format:[2,6,8,10,15],forward:15,found:[4,10],foundat:8,frame:[],free:8,from:[4,7,8,9,10,11,12,17],frontend_addr:10,full:12,func:[2,6,12],fwd_emqp_router_messag:15,gener:[6,7,8,9,11,15],generate_device_nam:13,generate_msgid:15,get_available_work:10,github:[],give:2,given:10,gmtime:[],gnu:8,goal:[],good:12,guarante:[2,8],guarente:2,hand:14,handl:[6,8,10,12],happen:[2,7,10,11],hard:12,hasn:10,have:[2,12,15],haven:10,header:[],heartbeat:[],heartbeat_timeout:10,heartbeati:12,heartbeatmixin:12,heavi:8,help:[],helper:12,here:[8,10],hit:12,home:[],hope:8,how:[2,7],html:8,http:8,ident:[8,13],identifi:10,ietf:8,ignor:[8,12],immediatli:2,implement:[8,12],impli:8,import_set:16,includ:[2,8],incom:[],index:[5,10,14],indexerror:10,inform:[6,8,10,12],inform_typ:[],inherit:4,initi:[2,12],insert:[8,12],instal:3,instanc:6,instanti:[2,6],integ:10,intern:4,interpret:8,interv:[2,8,17],interval_min:[],interval_sec:[2,17],intervalit:17,intes:2,invalidmessageerror:4,is_dead:12,is_empti:12,is_ful:12,is_heartbeat_en:12,is_pful:12,isn:[10,12],issu:[3,5,8],item:12,iter:[7,10,12],iterat:12,itself:10,job:[],jobmanag:[],jobmanager_main:6,keep:[6,10],kei:[7,8,10],kick:[6,10],know:[2,6,10],kwarg2:2,kwarg:[2,6,7,9,10,11,12],languag:[],largest:10,last:[2,10,12],last_recv_heartbeat:10,later:[8,10],least:[8,12],leav:8,left:12,length:[12,14],lesser:8,let:8,lib:[],licens:[],like:[6,12,14],limit:12,list:[2,4,6,8,10,12,14,17],listen:[9,10,11,12],locat:2,log:[2,6,10],logic:[6,10],longer:4,look:12,loop:[7,10,12],lower:10,mai:[2,8,10,12],main:6,make:14,malform:4,manag:[],mani:[2,8,11],manual:8,master:8,match:12,member:10,memebership:10,merchant:8,mess:17,messag:[],message_bodi:15,message_id:15,messageerror:4,met:12,meta:[10,15],method:[2,6,7,10,12],minut:2,mod:[],mode:[],modifi:8,modul:[1,2,5,6,14],monoton:[10,12,17],more:[8,12,14],most:12,msg:[6,8,10,12,15],msg_id:[],msgid:[6,10,12],multipart:[8,12],multiprocess:6,must:[8,12],name:[2,6,8,9,10,11],need:[10,11],never:17,next:[7,10,17],noavailableworkerslotserror:[4,10],none:[2,6,9,10,11,12,13,15],noop:6,normal:12,note:[6,9,11],now:12,number:[10,17],numer:17,obj:10,object:[7,12,17],occur:12,off:[6,10],on_ack:12,on_command:[10,12],on_emqp_command:12,on_ful:12,on_heartbeat:[6,10],on_inform:10,on_readi:10,on_receive_repli:[],on_receive_request:10,on_recv:9,on_request:[6,10],on_schedul:12,onc:8,onli:[],onlin:10,option:[2,6,8,9,11,15],org:8,orient:8,origin:8,other:[2,8],otherwis:[2,6,9,11,12],out:[6,12],outgo:[6,12],overwhelm:2,own:12,packag:[],page:5,param:2,paramet:[2,6,7,9,10,11,12,13,15,17],pars:[12,15],parse_messag:15,parse_router_messag:15,part:[8,15],particular:[8,11],pass:[2,8,9],path:[2,6],payload:15,peer:[4,8,12],peergoneawayerror:4,per:10,pfull:12,pictur:8,pip:[],placehold:[6,10],point:[],poll:7,poller:[],pollin:7,pollout:7,pool:[8,10],pop:[10,12],popleft:12,port:10,portion:6,possibl:3,practic:12,prefix:[13,15],prepend:8,pretti:8,priorit:10,prioriti:10,prioritize_queue_list:10,problem:4,process:[8,10,11,12],process_messag:[6,12],process_worker_messag:10,programm:12,prop:[],proper:12,properti:[9,11,12],protocol:[],protocol_vers:12,provid:[10,12],pub:8,publish:8,purpos:8,py2:17,py3:17,python2:[],python3:13,python:12,queu:2,queue:[2,4,6,8,10,12,14],queue_messag:10,queue_nam:10,quick:2,rais:[2,4,9,10,11,12,15],random:[14,15],random_charact:14,raw:12,raw_messag:[],readi:[6,8,9,10,11],rebind:10,rebuild:11,receiv:[],received_disconnect:10,recent:[8,10],reciev:[],recip:[],recipi:[10,12,15],recipient_id:15,recommend:8,reconnect:11,recv:12,recv_multipart:12,redistribut:8,refer:[6,12,17],regist:[7,10],regular:8,reject:12,rel:3,reliabl:8,reload:10,remain:7,remot:12,remov:[8,10,12],reopen:12,rep:9,repli:[2,6,8,15],reply_request:2,repres:17,req:11,request:[],request_queu:6,requeue_work:10,requir:8,requri:[],reset:[10,12],reset_heartbeat_count:[10,12],resourc:[6,8],respond:[8,10,12],respons:[2,6,9,10,11],restart:[8,11],retri:[2,8],retry_count:2,rfc2119:8,rfc:8,right:12,robin:8,roughli:11,round:8,rout:[8,10],router:[],router_main:10,run:[2,6,8,10,12],sake:17,same:[11,14],schedul:[],scheduler_id:10,scheduler_queu:10,scheduler_zmq_id:10,search:5,second:17,seconds_until:17,see:[7,8,10,12],self:[6,10,11,12],send:[2,4,6,8,10,11,12,15],send_ack:10,send_emqp_messag:15,send_emqp_router_messag:15,send_heartbeat:[10,12],send_inform:12,send_messag:[],send_multipart:12,send_raw:[],send_readi:6,send_request:2,send_schedule_request:2,send_schedulers_heartbeat:10,send_workers_heartbeat:10,sender:[],sender_id:15,sent:[8,10,12],seper:[2,8],serv:8,server:[6,8],servic:[8,12],service_typ:12,set:[2,6,7,8,10,11,12,13],setup:6,shall:8,shalt:[],should:[2,4,7,8,9,10,11,12],shown:8,sighup:10,sighup_handl:10,signum:10,simpl:[10,14],sinc:17,singl:8,site:[],size:12,skip:[11,12],skip_zmqstream:11,slot:10,smaller:10,socket:[2,7,8,9,10,11,12,13,15],softwar:8,some:[2,6,12,14,15],someon:8,someth:[2,11,12,17],somewher:3,sort:[10,14],sourc:[3,5],spawn:6,specif:[],specifi:[8,12,14],start:[],start_valu:17,state:12,statu:8,still:10,stop:8,store:10,str:[2,6,9,10,11,12,13,14,15],string:[2,8,9,10,11,12,13,15],structur:4,sub:8,subclass:4,subcmd:6,subcommand:[2,6],subject:8,subset:8,subtract:17,success:8,successfulli:[2,12],system:[3,10],take:[10,11,12,13,15],task:[2,6],tcp:10,tell:6,term:8,than:[],thei:[2,12],them:9,thi:[1,2,4,6,7,8,9,10,11,12,13,14,17],thing:[2,6,11,12,14,15],thou:[],threshold:12,through:[8,10],thy:[],time:[],timeout:7,timestamp:[8,10,17],timeutil:[],timezon:[],tip:3,tool:8,topic:[],topolog:[],tornado:[],trace:8,track:[6,10,12],tri:2,tupl:[7,10,12,15],type:[2,8,9,10,11,12,14],type_:12,typecast:7,typeerror:9,unbind:[9,11],undefin:7,under:8,unicod:13,uniqu:[6,8,10],unit:6,univers:[],unix:8,unknownqueueerror:[4,10],unless:[6,9,11],unprioritized_iter:10,unregist:7,unschedul:[2,8],until:17,untouch:[10,15],unus:[],updat:12,upon:8,upstream:6,usag:17,usual:12,utilit:[],utlitii:12,uuid:[6,9,10,11],vagrant:[],valid:8,valu:[2,7,8,12,14,15,17],valueerror:12,variabl:12,version:[3,8,12],via:[2,17],virtualenv:[],wait:[2,7],waiting_messag:10,walk:6,want:12,warn:10,warranti:8,weak:[12,17],web:8,well:8,went:2,when:[1,2,3,4,6,8,9,10,11,12,13,14],where:[2,8,10,12,17],which:[8,10,12,13],who:[1,10],wish:[2,15],without:[8,11],word:8,work:[3,6,12],worker:[],worker_id:10,worri:8,would:[2,12,17],wrap:[],wrong:2,you:[2,3,8,10,11,12,15],your:[2,8,12],zcontext:[9,11],zero_index_cmp:14,zeromq:8,zmq:[7,8,9,10,11,12,13,15],zmqreceivemixin:12,zmqsendmixin:12,zmqstream:11,zsocket:[9,11]},titles:["API Documentation","<code class=\"docutils literal\"><span class=\"pre\">client</span></code> – Client Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> – Client Messaging","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\">classes</span></code> – Utility Classes","<code class=\"docutils literal\"><span class=\"pre\">devices</span></code> – Device Utilities","<code class=\"docutils literal\"><span class=\"pre\">utils</span></code> – Utilities","<code class=\"docutils literal\"><span class=\"pre\">messages</span></code> – Message Utilities","<code class=\"docutils literal\"><span class=\"pre\">settings</span></code> – Settings Utilities","<code class=\"docutils literal\"><span class=\"pre\">timeutils</span></code> – Time Utilites"],titleterms:{"class":12,address:8,api:0,architectur:8,client:[1,2,8],contribut:3,devic:13,document:[0,5],emqp:8,eventmq:[3,5,8],except:4,frame:8,get:[],global:8,glossari:[],goal:8,guid:[],header:8,heartbeat:8,indic:5,job:6,jobmanag:6,languag:8,licens:8,manag:6,messag:[2,15],mod:[],poller:7,protocol:8,receiv:9,request:8,router:[8,10],schedul:8,sender:11,set:16,specif:8,start:[],style:[],tabl:5,time:17,timeutil:17,topolog:8,util:[1,12,13,14,15,16],utilit:17,welcom:[],worker:8}}) \ No newline at end of file | ||
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 10 | 10 | ||
| 11 | <title>utils – Utilities — EventMQ 0 documentation</title> | 11 | <title><no title> — EventMQ 0 documentation</title> |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | 14 | ||
| @@ -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="API Documentation" href="api.html"/> | 34 | <link rel="up" title="API Documentation" href="api.html"/> |
| 35 | <link rel="next" title="classes – Utility Classes" href="utils/classes.html"/> | 35 | <link rel="next" title="Contributing to EventMQ" href="contributing.html"/> |
| 36 | <link rel="prev" title="sender – Sender" href="sender.html"/> | 36 | <link rel="prev" title="sender – Sender" href="sender.html"/> |
| 37 | 37 | ||
| 38 | 38 | ||
| @@ -82,23 +82,8 @@ | |||
| 82 | 82 | ||
| 83 | 83 | ||
| 84 | 84 | ||
| 85 | <ul class="current"> | 85 | <ul> |
| 86 | <li class="toctree-l1 current"><a class="reference internal" href="api.html">API Documentation</a><ul class="current"> | 86 | <li class="toctree-l1"><a class="reference internal" href="api.html">API Documentation</a></li> |
| 87 | <li class="toctree-l2"><a class="reference internal" href="client.html"><code class="docutils literal"><span class="pre">client</span></code> – Client Utilities</a></li> | ||
| 88 | <li class="toctree-l2"><a class="reference internal" href="exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> – Exceptions</a></li> | ||
| 89 | <li class="toctree-l2"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></li> | ||
| 90 | <li class="toctree-l2"><a class="reference internal" href="poller.html"><code class="docutils literal"><span class="pre">poller</span></code> – Poller</a></li> | ||
| 91 | <li class="toctree-l2"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | ||
| 92 | <li class="toctree-l2"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | ||
| 93 | <li class="toctree-l2"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | ||
| 94 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> | ||
| 95 | <li class="toctree-l3"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | ||
| 96 | <li class="toctree-l3"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | ||
| 97 | <li class="toctree-l3"><a class="reference internal" href="utils/timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> | ||
| 98 | </ul> | ||
| 99 | </li> | ||
| 100 | </ul> | ||
| 101 | </li> | ||
| 102 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> | 87 | <li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to EventMQ</a></li> |
| 103 | </ul> | 88 | </ul> |
| 104 | 89 | ||
| @@ -132,7 +117,7 @@ | |||
| 132 | 117 | ||
| 133 | <li><a href="api.html">API Documentation</a> »</li> | 118 | <li><a href="api.html">API Documentation</a> »</li> |
| 134 | 119 | ||
| 135 | <li><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</li> | 120 | <li><no title></li> |
| 136 | <li class="wy-breadcrumbs-aside"> | 121 | <li class="wy-breadcrumbs-aside"> |
| 137 | 122 | ||
| 138 | 123 | ||
| @@ -146,34 +131,7 @@ | |||
| 146 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | 131 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
| 147 | <div itemprop="articleBody"> | 132 | <div itemprop="articleBody"> |
| 148 | 133 | ||
| 149 | <span class="target" id="module-eventmq.utils"></span><div class="section" id="utils-utilities"> | 134 | |
| 150 | <h1><code class="xref py py-mod docutils literal"><span class="pre">utils</span></code> – Utilities<a class="headerlink" href="#utils-utilities" title="Permalink to this headline">¶</a></h1> | ||
| 151 | <p>This module contains a handful of utility classes to make dealing with things | ||
| 152 | like creating message more simple.</p> | ||
| 153 | <div class="toctree-wrapper compound"> | ||
| 154 | <ul> | ||
| 155 | <li class="toctree-l1"><a class="reference internal" href="utils/classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | ||
| 156 | <li class="toctree-l1"><a class="reference internal" href="utils/messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | ||
| 157 | <li class="toctree-l1"><a class="reference internal" href="utils/timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> | ||
| 158 | </ul> | ||
| 159 | </div> | ||
| 160 | <dl class="function"> | ||
| 161 | <dt id="eventmq.utils.random_characters"> | ||
| 162 | <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> | ||
| 163 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 164 | <col class="field-name" /> | ||
| 165 | <col class="field-body" /> | ||
| 166 | <tbody valign="top"> | ||
| 167 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">some random characters of a specified length</td> | ||
| 168 | </tr> | ||
| 169 | <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> | ||
| 170 | </tr> | ||
| 171 | </tbody> | ||
| 172 | </table> | ||
| 173 | </dd></dl> | ||
| 174 | |||
| 175 | </div> | ||
| 176 | |||
| 177 | 135 | ||
| 178 | </div> | 136 | </div> |
| 179 | </div> | 137 | </div> |
| @@ -181,7 +139,7 @@ like creating message more simple.</p> | |||
| 181 | 139 | ||
| 182 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | 140 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> |
| 183 | 141 | ||
| 184 | <a href="utils/classes.html" class="btn btn-neutral float-right" title="classes – Utility Classes" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | 142 | <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> |
| 185 | 143 | ||
| 186 | 144 | ||
| 187 | <a href="sender.html" class="btn btn-neutral" title="sender – Sender" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | 145 | <a href="sender.html" class="btn btn-neutral" title="sender – Sender" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> |
diff --git a/utils/classes.html b/utils/classes.html index 3c681f4..7a43ac8 100644 --- a/utils/classes.html +++ b/utils/classes.html | |||
| @@ -31,9 +31,9 @@ | |||
| 31 | 31 | ||
| 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="index.html"/> |
| 35 | <link rel="next" title="messages – Message Utilities" href="messages.html"/> | 35 | <link rel="next" title="messages – Message Utilities" href="messages.html"/> |
| 36 | <link rel="prev" title="utils – Utilities" href="../utils.html"/> | 36 | <link rel="prev" title="utils - Utilities" href="index.html"/> |
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | <script src="../_static/js/modernizr.min.js"></script> | 39 | <script src="../_static/js/modernizr.min.js"></script> |
| @@ -91,10 +91,11 @@ | |||
| 91 | <li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 91 | <li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 92 | <li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 92 | <li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 93 | <li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | 93 | <li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> |
| 94 | <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-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> - Utilities</a><ul class="current"> |
| 95 | <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 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> |
| 96 | <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="messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> |
| 97 | <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 | <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> |
| 98 | <li class="toctree-l3"><a class="reference internal" href="index.html#id1"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a></li> | ||
| 98 | </ul> | 99 | </ul> |
| 99 | </li> | 100 | </li> |
| 100 | </ul> | 101 | </ul> |
| @@ -132,7 +133,7 @@ | |||
| 132 | 133 | ||
| 133 | <li><a href="../api.html">API Documentation</a> »</li> | 134 | <li><a href="../api.html">API Documentation</a> »</li> |
| 134 | 135 | ||
| 135 | <li><a href="../utils.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a> »</li> | 136 | <li><a href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> - Utilities</a> »</li> |
| 136 | 137 | ||
| 137 | <li><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</li> | 138 | <li><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</li> |
| 138 | <li class="wy-breadcrumbs-aside"> | 139 | <li class="wy-breadcrumbs-aside"> |
| @@ -152,6 +153,315 @@ | |||
| 152 | <h1><code class="xref py py-mod docutils literal"><span class="pre">classes</span></code> – Utility Classes<a class="headerlink" href="#classes-utility-classes" title="Permalink to this headline">¶</a></h1> | 153 | <h1><code class="xref py py-mod docutils literal"><span class="pre">classes</span></code> – Utility Classes<a class="headerlink" href="#classes-utility-classes" title="Permalink to this headline">¶</a></h1> |
| 153 | <p>Defines some classes to use when implementing ZMQ devices</p> | 154 | <p>Defines some classes to use when implementing ZMQ devices</p> |
| 154 | <dl class="class"> | 155 | <dl class="class"> |
| 156 | <dt id="eventmq.utils.classes.EMQPService"> | ||
| 157 | <em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">EMQPService</code><a class="headerlink" href="#eventmq.utils.classes.EMQPService" title="Permalink to this definition">¶</a></dt> | ||
| 158 | <dd><p>Helper for devices that connect to brokers.</p> | ||
| 159 | <p>Implements utility methods for sending EMQP messages for the following | ||
| 160 | EMQP commands.</p> | ||
| 161 | <blockquote> | ||
| 162 | <div><ul class="simple"> | ||
| 163 | <li>INFORM</li> | ||
| 164 | </ul> | ||
| 165 | </div></blockquote> | ||
| 166 | <p>Also implements utlitiy methods for managing long-running processes.</p> | ||
| 167 | <dl class="docutils"> | ||
| 168 | <dt>To use you must define:</dt> | ||
| 169 | <dd><ul class="first last simple"> | ||
| 170 | <li><cite>self.outgoing</cite> - socket where messages can be sent to the Router</li> | ||
| 171 | <li><cite>self.SERVICE_TYPE</cite> - defines the service type for INFORM. See | ||
| 172 | <a class="reference internal" href="#eventmq.utils.classes.EMQPService.send_inform" title="eventmq.utils.classes.EMQPService.send_inform"><code class="xref py py-meth docutils literal"><span class="pre">send_inform()</span></code></a> for more information.</li> | ||
| 173 | <li><cite>self.poller</cite> - the poller that <cite>self.outgoing</cite> will be using. | ||
| 174 | Usually: <cite>self.poller = eventmq.poller.Poller()</cite></li> | ||
| 175 | </ul> | ||
| 176 | </dd> | ||
| 177 | </dl> | ||
| 178 | <p>When messages are received from the router, they are processed in | ||
| 179 | <a class="reference internal" href="#eventmq.utils.classes.EMQPService.process_message" title="eventmq.utils.classes.EMQPService.process_message"><code class="xref py py-meth docutils literal"><span class="pre">process_message()</span></code></a> which then calls <cite>on_COMMAND</cite>. This should be used | ||
| 180 | in the event loop so if you want to respond to the SCHEDULE command, you | ||
| 181 | would define the method <cite>on_schedule</cite> in your service class.</p> | ||
| 182 | <p>See the code for <code class="xref py py-class docutils literal"><span class="pre">Scheduler</span></code> and <code class="xref py py-class docutils literal"><span class="pre">JobManager</span></code> for examples.</p> | ||
| 183 | <dl class="attribute"> | ||
| 184 | <dt id="eventmq.utils.classes.EMQPService.__weakref__"> | ||
| 185 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.utils.classes.EMQPService.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 186 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 187 | </dd></dl> | ||
| 188 | |||
| 189 | <dl class="attribute"> | ||
| 190 | <dt id="eventmq.utils.classes.EMQPService.is_heartbeat_enabled"> | ||
| 191 | <code class="descname">is_heartbeat_enabled</code><a class="headerlink" href="#eventmq.utils.classes.EMQPService.is_heartbeat_enabled" title="Permalink to this definition">¶</a></dt> | ||
| 192 | <dd><p>Property to check if heartbeating is enabled. Useful when certain | ||
| 193 | properties must be updated for heartbeating | ||
| 194 | :returns: bool - True if heartbeating is enabled, False if it isn’t</p> | ||
| 195 | </dd></dl> | ||
| 196 | |||
| 197 | <dl class="method"> | ||
| 198 | <dt id="eventmq.utils.classes.EMQPService.on_ack"> | ||
| 199 | <code class="descname">on_ack</code><span class="sig-paren">(</span><em>msgid</em>, <em>ackd_msgid</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQPService.on_ack" title="Permalink to this definition">¶</a></dt> | ||
| 200 | <dd><p>Sets <code class="xref py py-attr docutils literal"><span class="pre">awaiting_ack</span></code> to False</p> | ||
| 201 | </dd></dl> | ||
| 202 | |||
| 203 | <dl class="method"> | ||
| 204 | <dt id="eventmq.utils.classes.EMQPService.process_message"> | ||
| 205 | <code class="descname">process_message</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQPService.process_message" title="Permalink to this definition">¶</a></dt> | ||
| 206 | <dd><p>Processes a message. Processing takes form of calling an | ||
| 207 | <cite>on_EMQP_COMMAND</cite> method. The method must accept <cite>msgid</cite> and <cite>message</cite> | ||
| 208 | as the first arguments.</p> | ||
| 209 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 210 | <col class="field-name" /> | ||
| 211 | <col class="field-body" /> | ||
| 212 | <tbody valign="top"> | ||
| 213 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>msg</strong> – The message received from the socket to parse and process.</td> | ||
| 214 | </tr> | ||
| 215 | </tbody> | ||
| 216 | </table> | ||
| 217 | </dd></dl> | ||
| 218 | |||
| 219 | <dl class="method"> | ||
| 220 | <dt id="eventmq.utils.classes.EMQPService.reset"> | ||
| 221 | <code class="descname">reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQPService.reset" title="Permalink to this definition">¶</a></dt> | ||
| 222 | <dd><p>Resets the current connection by closing and reopening the socket</p> | ||
| 223 | </dd></dl> | ||
| 224 | |||
| 225 | <dl class="method"> | ||
| 226 | <dt id="eventmq.utils.classes.EMQPService.send_inform"> | ||
| 227 | <code class="descname">send_inform</code><span class="sig-paren">(</span><em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQPService.send_inform" title="Permalink to this definition">¶</a></dt> | ||
| 228 | <dd><p>Queues an INFORM command to <cite>self.outgoing</cite>.</p> | ||
| 229 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 230 | <col class="field-name" /> | ||
| 231 | <col class="field-body" /> | ||
| 232 | <tbody valign="top"> | ||
| 233 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> | ||
| 234 | <li><strong>type</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Either ‘worker’ or ‘scheduler’</li> | ||
| 235 | <li><strong>queue</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#list" title="(in Python v2.7)"><em>list</em></a>) – <ul> | ||
| 236 | <li>For ‘worker’ type, the queues the worker is listening on</li> | ||
| 237 | <li>Ignored for ‘scheduler’ type</li> | ||
| 238 | </ul> | ||
| 239 | </li> | ||
| 240 | </ul> | ||
| 241 | </td> | ||
| 242 | </tr> | ||
| 243 | <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><code class="xref py py-exc docutils literal"><span class="pre">ValueError</span></code> – When <cite>type_</cite> does not match a specified type</p> | ||
| 244 | </td> | ||
| 245 | </tr> | ||
| 246 | </tbody> | ||
| 247 | </table> | ||
| 248 | </dd></dl> | ||
| 249 | |||
| 250 | <dl class="method"> | ||
| 251 | <dt id="eventmq.utils.classes.EMQPService.start"> | ||
| 252 | <code class="descname">start</code><span class="sig-paren">(</span><em>addr</em>, <em>queues='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQPService.start" title="Permalink to this definition">¶</a></dt> | ||
| 253 | <dd><p>Connect to <cite>addr</cite> and begin listening for job requests</p> | ||
| 254 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 255 | <col class="field-name" /> | ||
| 256 | <col class="field-body" /> | ||
| 257 | <tbody valign="top"> | ||
| 258 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>addr</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – connection string to connect to</td> | ||
| 259 | </tr> | ||
| 260 | </tbody> | ||
| 261 | </table> | ||
| 262 | </dd></dl> | ||
| 263 | |||
| 264 | </dd></dl> | ||
| 265 | |||
| 266 | <dl class="class"> | ||
| 267 | <dt id="eventmq.utils.classes.EMQdeque"> | ||
| 268 | <em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">EMQdeque</code><span class="sig-paren">(</span><em>full=None</em>, <em>pfull=None</em>, <em>on_full=None</em>, <em>initial=()</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque" title="Permalink to this definition">¶</a></dt> | ||
| 269 | <dd><p>EventMQ deque based on python’s collections.deque with full and | ||
| 270 | programmable full.</p> | ||
| 271 | <div class="admonition note"> | ||
| 272 | <p class="first admonition-title">Note</p> | ||
| 273 | <p class="last">Because of the programmable full, some of the methods that would | ||
| 274 | normally return None return a boolean value that should be captured and | ||
| 275 | checked to ensure proper error handling.</p> | ||
| 276 | </div> | ||
| 277 | <dl class="method"> | ||
| 278 | <dt id="eventmq.utils.classes.EMQdeque.__init__"> | ||
| 279 | <code class="descname">__init__</code><span class="sig-paren">(</span><em>full=None</em>, <em>pfull=None</em>, <em>on_full=None</em>, <em>initial=()</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.__init__" title="Permalink to this definition">¶</a></dt> | ||
| 280 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 281 | <col class="field-name" /> | ||
| 282 | <col class="field-body" /> | ||
| 283 | <tbody valign="top"> | ||
| 284 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 285 | <li><strong>full</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – Hard limit on deque size. Rejects adding elements. | ||
| 286 | Default: 0 - no limit</li> | ||
| 287 | <li><strong>pfull</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – Programmable limit on deque size, defaults | ||
| 288 | to <code class="docutils literal"><span class="pre">full</span></code> length</li> | ||
| 289 | <li><strong>on_full</strong> (<em>func</em>) – callback to call when <code class="docutils literal"><span class="pre">full</span></code> limit is hit</li> | ||
| 290 | <li><strong>initial</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#iter" title="(in Python v2.7)"><em>iter</em></a>) – The initial iteratable used to contruct the deque</li> | ||
| 291 | </ul> | ||
| 292 | </td> | ||
| 293 | </tr> | ||
| 294 | </tbody> | ||
| 295 | </table> | ||
| 296 | </dd></dl> | ||
| 297 | |||
| 298 | <dl class="attribute"> | ||
| 299 | <dt id="eventmq.utils.classes.EMQdeque.__weakref__"> | ||
| 300 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 301 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 302 | </dd></dl> | ||
| 303 | |||
| 304 | <dl class="method"> | ||
| 305 | <dt id="eventmq.utils.classes.EMQdeque.append"> | ||
| 306 | <code class="descname">append</code><span class="sig-paren">(</span><em>item</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.append" title="Permalink to this definition">¶</a></dt> | ||
| 307 | <dd><p>Append item to the right this deque if the deque isn’t full.</p> | ||
| 308 | <div class="admonition note"> | ||
| 309 | <p class="first admonition-title">Note</p> | ||
| 310 | <p class="last">You should check the return value of this call and handle the cases | ||
| 311 | where False is returned.</p> | ||
| 312 | </div> | ||
| 313 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 314 | <col class="field-name" /> | ||
| 315 | <col class="field-body" /> | ||
| 316 | <tbody valign="top"> | ||
| 317 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if <code class="docutils literal"><span class="pre">item</span></code> was successfully added, False if the deque | ||
| 318 | is at the <code class="docutils literal"><span class="pre">self.full</span></code> limit. If it is, <code class="docutils literal"><span class="pre">self.on_full</span></code> is | ||
| 319 | called.</td> | ||
| 320 | </tr> | ||
| 321 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 322 | </tr> | ||
| 323 | </tbody> | ||
| 324 | </table> | ||
| 325 | </dd></dl> | ||
| 326 | |||
| 327 | <dl class="method"> | ||
| 328 | <dt id="eventmq.utils.classes.EMQdeque.appendleft"> | ||
| 329 | <code class="descname">appendleft</code><span class="sig-paren">(</span><em>item</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.appendleft" title="Permalink to this definition">¶</a></dt> | ||
| 330 | <dd><p>Append item to the left this deque if the deque isn’t full.</p> | ||
| 331 | <div class="admonition note"> | ||
| 332 | <p class="first admonition-title">Note</p> | ||
| 333 | <p class="last">You should check the return value of this call and handle the cases | ||
| 334 | where False is returned.</p> | ||
| 335 | </div> | ||
| 336 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 337 | <col class="field-name" /> | ||
| 338 | <col class="field-body" /> | ||
| 339 | <tbody valign="top"> | ||
| 340 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if <code class="docutils literal"><span class="pre">item</span></code> was successfully added, False if the deque | ||
| 341 | is at the <code class="docutils literal"><span class="pre">self.full</span></code> limit. If it is, <code class="docutils literal"><span class="pre">self.on_full</span></code> is | ||
| 342 | called.</td> | ||
| 343 | </tr> | ||
| 344 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 345 | </tr> | ||
| 346 | </tbody> | ||
| 347 | </table> | ||
| 348 | </dd></dl> | ||
| 349 | |||
| 350 | <dl class="method"> | ||
| 351 | <dt id="eventmq.utils.classes.EMQdeque.extend"> | ||
| 352 | <code class="descname">extend</code><span class="sig-paren">(</span><em>iterable</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.extend" title="Permalink to this definition">¶</a></dt> | ||
| 353 | <dd><p>append <code class="docutils literal"><span class="pre">iterable</span></code> to the right (end) of the deque</p> | ||
| 354 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 355 | <col class="field-name" /> | ||
| 356 | <col class="field-body" /> | ||
| 357 | <tbody valign="top"> | ||
| 358 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if <code class="docutils literal"><span class="pre">item</span></code> was successfully added, False if the deque | ||
| 359 | is at the <code class="docutils literal"><span class="pre">self.full</span></code> limit. If it is, <code class="docutils literal"><span class="pre">self.on_full</span></code> is | ||
| 360 | called.</td> | ||
| 361 | </tr> | ||
| 362 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 363 | </tr> | ||
| 364 | </tbody> | ||
| 365 | </table> | ||
| 366 | </dd></dl> | ||
| 367 | |||
| 368 | <dl class="method"> | ||
| 369 | <dt id="eventmq.utils.classes.EMQdeque.is_empty"> | ||
| 370 | <code class="descname">is_empty</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.is_empty" title="Permalink to this definition">¶</a></dt> | ||
| 371 | <dd><p>Check to see if the deque contains no items.</p> | ||
| 372 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 373 | <col class="field-name" /> | ||
| 374 | <col class="field-body" /> | ||
| 375 | <tbody valign="top"> | ||
| 376 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the deque contains 0 items. False otherwise</td> | ||
| 377 | </tr> | ||
| 378 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 379 | </tr> | ||
| 380 | </tbody> | ||
| 381 | </table> | ||
| 382 | </dd></dl> | ||
| 383 | |||
| 384 | <dl class="method"> | ||
| 385 | <dt id="eventmq.utils.classes.EMQdeque.is_full"> | ||
| 386 | <code class="descname">is_full</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.is_full" title="Permalink to this definition">¶</a></dt> | ||
| 387 | <dd><p>Check to see if the deque contains <code class="docutils literal"><span class="pre">self.full</span></code> items.</p> | ||
| 388 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 389 | <col class="field-name" /> | ||
| 390 | <col class="field-body" /> | ||
| 391 | <tbody valign="top"> | ||
| 392 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the deque contains at least <code class="docutils literal"><span class="pre">full</span></code> items. False | ||
| 393 | otherwise</td> | ||
| 394 | </tr> | ||
| 395 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 396 | </tr> | ||
| 397 | </tbody> | ||
| 398 | </table> | ||
| 399 | </dd></dl> | ||
| 400 | |||
| 401 | <dl class="method"> | ||
| 402 | <dt id="eventmq.utils.classes.EMQdeque.is_pfull"> | ||
| 403 | <code class="descname">is_pfull</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.is_pfull" title="Permalink to this definition">¶</a></dt> | ||
| 404 | <dd><p>Check to see if the deque contains <code class="docutils literal"><span class="pre">self.pfull</span></code> items.</p> | ||
| 405 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 406 | <col class="field-name" /> | ||
| 407 | <col class="field-body" /> | ||
| 408 | <tbody valign="top"> | ||
| 409 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the deque contains at least <code class="docutils literal"><span class="pre">pfull</span></code> items. | ||
| 410 | False otherwise</td> | ||
| 411 | </tr> | ||
| 412 | <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#bool" title="(in Python v2.7)">bool</a></td> | ||
| 413 | </tr> | ||
| 414 | </tbody> | ||
| 415 | </table> | ||
| 416 | </dd></dl> | ||
| 417 | |||
| 418 | <dl class="method"> | ||
| 419 | <dt id="eventmq.utils.classes.EMQdeque.pop"> | ||
| 420 | <code class="descname">pop</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.pop" title="Permalink to this definition">¶</a></dt> | ||
| 421 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 422 | <col class="field-name" /> | ||
| 423 | <col class="field-body" /> | ||
| 424 | <tbody valign="top"> | ||
| 425 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the last (right-most) element of the deque</td> | ||
| 426 | </tr> | ||
| 427 | <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#object" title="(in Python v2.7)">object</a></td> | ||
| 428 | </tr> | ||
| 429 | </tbody> | ||
| 430 | </table> | ||
| 431 | </dd></dl> | ||
| 432 | |||
| 433 | <dl class="method"> | ||
| 434 | <dt id="eventmq.utils.classes.EMQdeque.popleft"> | ||
| 435 | <code class="descname">popleft</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.popleft" title="Permalink to this definition">¶</a></dt> | ||
| 436 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 437 | <col class="field-name" /> | ||
| 438 | <col class="field-body" /> | ||
| 439 | <tbody valign="top"> | ||
| 440 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the first (left-most) element of the deque</td> | ||
| 441 | </tr> | ||
| 442 | <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#object" title="(in Python v2.7)">object</a></td> | ||
| 443 | </tr> | ||
| 444 | </tbody> | ||
| 445 | </table> | ||
| 446 | </dd></dl> | ||
| 447 | |||
| 448 | <dl class="method"> | ||
| 449 | <dt id="eventmq.utils.classes.EMQdeque.remove"> | ||
| 450 | <code class="descname">remove</code><span class="sig-paren">(</span><em>item</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.EMQdeque.remove" title="Permalink to this definition">¶</a></dt> | ||
| 451 | <dd><p>Remove <code class="docutils literal"><span class="pre">item</span></code> from the deque.</p> | ||
| 452 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 453 | <col class="field-name" /> | ||
| 454 | <col class="field-body" /> | ||
| 455 | <tbody valign="top"> | ||
| 456 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>item</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#object" title="(in Python v2.7)"><em>object</em></a>) – The item to remove from the deque</td> | ||
| 457 | </tr> | ||
| 458 | </tbody> | ||
| 459 | </table> | ||
| 460 | </dd></dl> | ||
| 461 | |||
| 462 | </dd></dl> | ||
| 463 | |||
| 464 | <dl class="class"> | ||
| 155 | <dt id="eventmq.utils.classes.HeartbeatMixin"> | 465 | <dt id="eventmq.utils.classes.HeartbeatMixin"> |
| 156 | <em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">HeartbeatMixin</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.HeartbeatMixin" title="Permalink to this definition">¶</a></dt> | 466 | <em class="property">class </em><code class="descclassname">eventmq.utils.classes.</code><code class="descname">HeartbeatMixin</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.classes.HeartbeatMixin" title="Permalink to this definition">¶</a></dt> |
| 157 | <dd><p>Provides methods for implementing heartbeats</p> | 467 | <dd><p>Provides methods for implementing heartbeats</p> |
| @@ -305,7 +615,7 @@ specify the the recipient id of the remote socket</li> | |||
| 305 | <a href="messages.html" class="btn btn-neutral float-right" title="messages – Message Utilities" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | 615 | <a href="messages.html" class="btn btn-neutral float-right" title="messages – Message Utilities" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> |
| 306 | 616 | ||
| 307 | 617 | ||
| 308 | <a href="../utils.html" class="btn btn-neutral" title="utils – Utilities" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | 618 | <a href="index.html" class="btn btn-neutral" title="utils - Utilities" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> |
| 309 | 619 | ||
| 310 | </div> | 620 | </div> |
| 311 | 621 | ||
diff --git a/utils/devices.html b/utils/devices.html new file mode 100644 index 0000000..b5d254a --- /dev/null +++ b/utils/devices.html | |||
| @@ -0,0 +1,243 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html> | ||
| 4 | <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> | ||
| 5 | <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> | ||
| 6 | <head> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | |||
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 10 | |||
| 11 | <title>devices – Device Utilities — EventMQ 0 documentation</title> | ||
| 12 | |||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | |||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | |||
| 27 | <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> | ||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | <link rel="top" title="EventMQ 0 documentation" href="../index.html"/> | ||
| 34 | <link rel="up" title="utils – Utilities" href="index.html"/> | ||
| 35 | <link rel="next" title="messages – Message Utilities" href="messages.html"/> | ||
| 36 | <link rel="prev" title="classes – Utility Classes" href="classes.html"/> | ||
| 37 | |||
| 38 | |||
| 39 | <script src="../_static/js/modernizr.min.js"></script> | ||
| 40 | |||
| 41 | </head> | ||
| 42 | |||
| 43 | <body class="wy-body-for-nav" role="document"> | ||
| 44 | |||
| 45 | <div class="wy-grid-for-nav"> | ||
| 46 | |||
| 47 | |||
| 48 | <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||
| 49 | <div class="wy-side-scroll"> | ||
| 50 | <div class="wy-side-nav-search"> | ||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | <a href="../index.html" class="icon icon-home"> EventMQ | ||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | </a> | ||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | <div class="version"> | ||
| 64 | 0 | ||
| 65 | </div> | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | <div role="search"> | ||
| 71 | <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> | ||
| 72 | <input type="text" name="q" placeholder="Search docs" /> | ||
| 73 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 74 | <input type="hidden" name="area" value="default" /> | ||
| 75 | </form> | ||
| 76 | </div> | ||
| 77 | |||
| 78 | |||
| 79 | </div> | ||
| 80 | |||
| 81 | <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> | ||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 | <ul class="current"> | ||
| 86 | <li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Documentation</a><ul class="current"> | ||
| 87 | <li class="toctree-l2"><a class="reference internal" href="../client.html"><code class="docutils literal"><span class="pre">client</span></code> – Client Utilities</a></li> | ||
| 88 | <li class="toctree-l2"><a class="reference internal" href="../exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> – Exceptions</a></li> | ||
| 89 | <li class="toctree-l2"><a class="reference internal" href="../jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></li> | ||
| 90 | <li class="toctree-l2"><a class="reference internal" href="../poller.html"><code class="docutils literal"><span class="pre">poller</span></code> – Poller</a></li> | ||
| 91 | <li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | ||
| 92 | <li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | ||
| 93 | <li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | ||
| 94 | <li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> | ||
| 95 | <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> | ||
| 96 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</a></li> | ||
| 97 | <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> | ||
| 98 | <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> | ||
| 99 | </ul> | ||
| 100 | </li> | ||
| 101 | </ul> | ||
| 102 | </li> | ||
| 103 | <li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to EventMQ</a></li> | ||
| 104 | </ul> | ||
| 105 | |||
| 106 | |||
| 107 | |||
| 108 | </div> | ||
| 109 | </div> | ||
| 110 | </nav> | ||
| 111 | |||
| 112 | <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | ||
| 113 | |||
| 114 | |||
| 115 | <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> | ||
| 116 | <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||
| 117 | <a href="../index.html">EventMQ</a> | ||
| 118 | </nav> | ||
| 119 | |||
| 120 | |||
| 121 | |||
| 122 | <div class="wy-nav-content"> | ||
| 123 | <div class="rst-content"> | ||
| 124 | |||
| 125 | |||
| 126 | |||
| 127 | |||
| 128 | |||
| 129 | |||
| 130 | <div role="navigation" aria-label="breadcrumbs navigation"> | ||
| 131 | <ul class="wy-breadcrumbs"> | ||
| 132 | <li><a href="../index.html">Docs</a> »</li> | ||
| 133 | |||
| 134 | <li><a href="../api.html">API Documentation</a> »</li> | ||
| 135 | |||
| 136 | <li><a href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a> »</li> | ||
| 137 | |||
| 138 | <li><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</li> | ||
| 139 | <li class="wy-breadcrumbs-aside"> | ||
| 140 | |||
| 141 | |||
| 142 | <a href="../_sources/utils/devices.txt" rel="nofollow"> View page source</a> | ||
| 143 | |||
| 144 | |||
| 145 | </li> | ||
| 146 | </ul> | ||
| 147 | <hr/> | ||
| 148 | </div> | ||
| 149 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||
| 150 | <div itemprop="articleBody"> | ||
| 151 | |||
| 152 | <span class="target" id="module-eventmq.utils.devices"></span><div class="section" id="devices-device-utilities"> | ||
| 153 | <h1><code class="xref py py-mod docutils literal"><span class="pre">devices</span></code> – Device Utilities<a class="headerlink" href="#devices-device-utilities" title="Permalink to this headline">¶</a></h1> | ||
| 154 | <dl class="function"> | ||
| 155 | <dt id="eventmq.utils.devices.generate_device_name"> | ||
| 156 | <code class="descclassname">eventmq.utils.devices.</code><code class="descname">generate_device_name</code><span class="sig-paren">(</span><em>prefix=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.devices.generate_device_name" title="Permalink to this definition">¶</a></dt> | ||
| 157 | <dd><p>This takes care of the python3 ‘everything is unicode’ feature which | ||
| 158 | causes errors when setting the IDENTITY of the ZMQ socket.</p> | ||
| 159 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 160 | <col class="field-name" /> | ||
| 161 | <col class="field-body" /> | ||
| 162 | <tbody valign="top"> | ||
| 163 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – Prefix the id with this string.</td> | ||
| 164 | </tr> | ||
| 165 | </tbody> | ||
| 166 | </table> | ||
| 167 | <dl class="docutils"> | ||
| 168 | <dt>Returns (str) An ascii encoded string that can be used as an IDENTITY for a</dt> | ||
| 169 | <dd>ZMQ socket.</dd> | ||
| 170 | </dl> | ||
| 171 | </dd></dl> | ||
| 172 | |||
| 173 | </div> | ||
| 174 | |||
| 175 | |||
| 176 | </div> | ||
| 177 | </div> | ||
| 178 | <footer> | ||
| 179 | |||
| 180 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | ||
| 181 | |||
| 182 | <a href="messages.html" class="btn btn-neutral float-right" title="messages – Message Utilities" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | ||
| 183 | |||
| 184 | |||
| 185 | <a href="classes.html" class="btn btn-neutral" title="classes – Utility Classes" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | ||
| 186 | |||
| 187 | </div> | ||
| 188 | |||
| 189 | |||
| 190 | <hr/> | ||
| 191 | |||
| 192 | <div role="contentinfo"> | ||
| 193 | <p> | ||
| 194 | © Copyright 2015, eventboard.io. | ||
| 195 | |||
| 196 | </p> | ||
| 197 | </div> | ||
| 198 | Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||
| 199 | |||
| 200 | </footer> | ||
| 201 | |||
| 202 | </div> | ||
| 203 | </div> | ||
| 204 | |||
| 205 | </section> | ||
| 206 | |||
| 207 | </div> | ||
| 208 | |||
| 209 | |||
| 210 | |||
| 211 | |||
| 212 | |||
| 213 | <script type="text/javascript"> | ||
| 214 | var DOCUMENTATION_OPTIONS = { | ||
| 215 | URL_ROOT:'../', | ||
| 216 | VERSION:'0', | ||
| 217 | COLLAPSE_INDEX:false, | ||
| 218 | FILE_SUFFIX:'.html', | ||
| 219 | HAS_SOURCE: true | ||
| 220 | }; | ||
| 221 | </script> | ||
| 222 | <script type="text/javascript" src="../_static/jquery.js"></script> | ||
| 223 | <script type="text/javascript" src="../_static/underscore.js"></script> | ||
| 224 | <script type="text/javascript" src="../_static/doctools.js"></script> | ||
| 225 | |||
| 226 | |||
| 227 | |||
| 228 | |||
| 229 | |||
| 230 | <script type="text/javascript" src="../_static/js/theme.js"></script> | ||
| 231 | |||
| 232 | |||
| 233 | |||
| 234 | |||
| 235 | <script type="text/javascript"> | ||
| 236 | jQuery(function () { | ||
| 237 | SphinxRtdTheme.StickyNav.enable(); | ||
| 238 | }); | ||
| 239 | </script> | ||
| 240 | |||
| 241 | |||
| 242 | </body> | ||
| 243 | </html> \ No newline at end of file | ||
diff --git a/utils/index.html b/utils/index.html new file mode 100644 index 0000000..d58c3a3 --- /dev/null +++ b/utils/index.html | |||
| @@ -0,0 +1,256 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html> | ||
| 4 | <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> | ||
| 5 | <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> | ||
| 6 | <head> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | |||
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 10 | |||
| 11 | <title>utils – Utilities — EventMQ 0 documentation</title> | ||
| 12 | |||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | |||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | |||
| 27 | <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> | ||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | <link rel="top" title="EventMQ 0 documentation" href="../index.html"/> | ||
| 34 | <link rel="up" title="API Documentation" href="../api.html"/> | ||
| 35 | <link rel="next" title="classes – Utility Classes" href="classes.html"/> | ||
| 36 | <link rel="prev" title="sender – Sender" href="../sender.html"/> | ||
| 37 | |||
| 38 | |||
| 39 | <script src="../_static/js/modernizr.min.js"></script> | ||
| 40 | |||
| 41 | </head> | ||
| 42 | |||
| 43 | <body class="wy-body-for-nav" role="document"> | ||
| 44 | |||
| 45 | <div class="wy-grid-for-nav"> | ||
| 46 | |||
| 47 | |||
| 48 | <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||
| 49 | <div class="wy-side-scroll"> | ||
| 50 | <div class="wy-side-nav-search"> | ||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | <a href="../index.html" class="icon icon-home"> EventMQ | ||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | </a> | ||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | <div class="version"> | ||
| 64 | 0 | ||
| 65 | </div> | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | <div role="search"> | ||
| 71 | <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> | ||
| 72 | <input type="text" name="q" placeholder="Search docs" /> | ||
| 73 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 74 | <input type="hidden" name="area" value="default" /> | ||
| 75 | </form> | ||
| 76 | </div> | ||
| 77 | |||
| 78 | |||
| 79 | </div> | ||
| 80 | |||
| 81 | <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> | ||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 | <ul class="current"> | ||
| 86 | <li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Documentation</a><ul class="current"> | ||
| 87 | <li class="toctree-l2"><a class="reference internal" href="../client.html"><code class="docutils literal"><span class="pre">client</span></code> – Client Utilities</a></li> | ||
| 88 | <li class="toctree-l2"><a class="reference internal" href="../exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> – Exceptions</a></li> | ||
| 89 | <li class="toctree-l2"><a class="reference internal" href="../jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></li> | ||
| 90 | <li class="toctree-l2"><a class="reference internal" href="../poller.html"><code class="docutils literal"><span class="pre">poller</span></code> – Poller</a></li> | ||
| 91 | <li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | ||
| 92 | <li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | ||
| 93 | <li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | ||
| 94 | <li class="toctree-l2 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul> | ||
| 95 | <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> | ||
| 96 | <li class="toctree-l3"><a class="reference internal" href="devices.html"><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</a></li> | ||
| 97 | <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> | ||
| 98 | <li class="toctree-l3"><a class="reference internal" href="settings.html"><code class="docutils literal"><span class="pre">settings</span></code> – Settings Utilities</a></li> | ||
| 99 | <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> | ||
| 100 | </ul> | ||
| 101 | </li> | ||
| 102 | </ul> | ||
| 103 | </li> | ||
| 104 | <li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to EventMQ</a></li> | ||
| 105 | </ul> | ||
| 106 | |||
| 107 | |||
| 108 | |||
| 109 | </div> | ||
| 110 | </div> | ||
| 111 | </nav> | ||
| 112 | |||
| 113 | <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | ||
| 114 | |||
| 115 | |||
| 116 | <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> | ||
| 117 | <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||
| 118 | <a href="../index.html">EventMQ</a> | ||
| 119 | </nav> | ||
| 120 | |||
| 121 | |||
| 122 | |||
| 123 | <div class="wy-nav-content"> | ||
| 124 | <div class="rst-content"> | ||
| 125 | |||
| 126 | |||
| 127 | |||
| 128 | |||
| 129 | |||
| 130 | |||
| 131 | <div role="navigation" aria-label="breadcrumbs navigation"> | ||
| 132 | <ul class="wy-breadcrumbs"> | ||
| 133 | <li><a href="../index.html">Docs</a> »</li> | ||
| 134 | |||
| 135 | <li><a href="../api.html">API Documentation</a> »</li> | ||
| 136 | |||
| 137 | <li><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</li> | ||
| 138 | <li class="wy-breadcrumbs-aside"> | ||
| 139 | |||
| 140 | |||
| 141 | <a href="../_sources/utils/index.txt" rel="nofollow"> View page source</a> | ||
| 142 | |||
| 143 | |||
| 144 | </li> | ||
| 145 | </ul> | ||
| 146 | <hr/> | ||
| 147 | </div> | ||
| 148 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||
| 149 | <div itemprop="articleBody"> | ||
| 150 | |||
| 151 | <span class="target" id="module-eventmq.utils"></span><div class="section" id="utils-utilities"> | ||
| 152 | <h1><code class="xref py py-mod docutils literal"><span class="pre">utils</span></code> – Utilities<a class="headerlink" href="#utils-utilities" title="Permalink to this headline">¶</a></h1> | ||
| 153 | <p>This module contains a handful of utility classes to make dealing with things | ||
| 154 | like creating message more simple.</p> | ||
| 155 | <div class="toctree-wrapper compound"> | ||
| 156 | <ul> | ||
| 157 | <li class="toctree-l1"><a class="reference internal" href="classes.html"><code class="docutils literal"><span class="pre">classes</span></code> – Utility Classes</a></li> | ||
| 158 | <li class="toctree-l1"><a class="reference internal" href="devices.html"><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</a></li> | ||
| 159 | <li class="toctree-l1"><a class="reference internal" href="messages.html"><code class="docutils literal"><span class="pre">messages</span></code> – Message Utilities</a></li> | ||
| 160 | <li class="toctree-l1"><a class="reference internal" href="settings.html"><code class="docutils literal"><span class="pre">settings</span></code> – Settings Utilities</a></li> | ||
| 161 | <li class="toctree-l1"><a class="reference internal" href="timeutils.html"><code class="docutils literal"><span class="pre">timeutils</span></code> – Time Utilites</a></li> | ||
| 162 | </ul> | ||
| 163 | </div> | ||
| 164 | <dl class="function"> | ||
| 165 | <dt id="eventmq.utils.random_characters"> | ||
| 166 | <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> | ||
| 167 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 168 | <col class="field-name" /> | ||
| 169 | <col class="field-body" /> | ||
| 170 | <tbody valign="top"> | ||
| 171 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">some random characters of a specified length</td> | ||
| 172 | </tr> | ||
| 173 | <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> | ||
| 174 | </tr> | ||
| 175 | </tbody> | ||
| 176 | </table> | ||
| 177 | </dd></dl> | ||
| 178 | |||
| 179 | <dl class="function"> | ||
| 180 | <dt id="eventmq.utils.zero_index_cmp"> | ||
| 181 | <code class="descclassname">eventmq.utils.</code><code class="descname">zero_index_cmp</code><span class="sig-paren">(</span><em>a</em>, <em>b</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.zero_index_cmp" title="Permalink to this definition">¶</a></dt> | ||
| 182 | <dd><p>same as <code class="docutils literal"><span class="pre">cmp</span></code> but using the 0-index in a list as the compare value. Used | ||
| 183 | when sorting the values in <code class="xref py py-attr docutils literal"><span class="pre">router.Router.queues</span></code>.</p> | ||
| 184 | </dd></dl> | ||
| 185 | |||
| 186 | </div> | ||
| 187 | |||
| 188 | |||
| 189 | </div> | ||
| 190 | </div> | ||
| 191 | <footer> | ||
| 192 | |||
| 193 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | ||
| 194 | |||
| 195 | <a href="classes.html" class="btn btn-neutral float-right" title="classes – Utility Classes" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a> | ||
| 196 | |||
| 197 | |||
| 198 | <a href="../sender.html" class="btn btn-neutral" title="sender – Sender" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | ||
| 199 | |||
| 200 | </div> | ||
| 201 | |||
| 202 | |||
| 203 | <hr/> | ||
| 204 | |||
| 205 | <div role="contentinfo"> | ||
| 206 | <p> | ||
| 207 | © Copyright 2015, eventboard.io. | ||
| 208 | |||
| 209 | </p> | ||
| 210 | </div> | ||
| 211 | Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||
| 212 | |||
| 213 | </footer> | ||
| 214 | |||
| 215 | </div> | ||
| 216 | </div> | ||
| 217 | |||
| 218 | </section> | ||
| 219 | |||
| 220 | </div> | ||
| 221 | |||
| 222 | |||
| 223 | |||
| 224 | |||
| 225 | |||
| 226 | <script type="text/javascript"> | ||
| 227 | var DOCUMENTATION_OPTIONS = { | ||
| 228 | URL_ROOT:'../', | ||
| 229 | VERSION:'0', | ||
| 230 | COLLAPSE_INDEX:false, | ||
| 231 | FILE_SUFFIX:'.html', | ||
| 232 | HAS_SOURCE: true | ||
| 233 | }; | ||
| 234 | </script> | ||
| 235 | <script type="text/javascript" src="../_static/jquery.js"></script> | ||
| 236 | <script type="text/javascript" src="../_static/underscore.js"></script> | ||
| 237 | <script type="text/javascript" src="../_static/doctools.js"></script> | ||
| 238 | |||
| 239 | |||
| 240 | |||
| 241 | |||
| 242 | |||
| 243 | <script type="text/javascript" src="../_static/js/theme.js"></script> | ||
| 244 | |||
| 245 | |||
| 246 | |||
| 247 | |||
| 248 | <script type="text/javascript"> | ||
| 249 | jQuery(function () { | ||
| 250 | SphinxRtdTheme.StickyNav.enable(); | ||
| 251 | }); | ||
| 252 | </script> | ||
| 253 | |||
| 254 | |||
| 255 | </body> | ||
| 256 | </html> \ No newline at end of file | ||
diff --git a/utils/settings.html b/utils/settings.html new file mode 100644 index 0000000..65fa6ff --- /dev/null +++ b/utils/settings.html | |||
| @@ -0,0 +1,231 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html> | ||
| 4 | <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> | ||
| 5 | <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> | ||
| 6 | <head> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | |||
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 10 | |||
| 11 | <title>settings – Settings Utilities — EventMQ 0 documentation</title> | ||
| 12 | |||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | |||
| 17 | |||
| 18 | |||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | |||
| 25 | |||
| 26 | |||
| 27 | <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> | ||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | |||
| 33 | <link rel="top" title="EventMQ 0 documentation" href="../index.html"/> | ||
| 34 | <link rel="up" title="utils – Utilities" href="index.html"/> | ||
| 35 | <link rel="next" title="timeutils – Time Utilites" href="timeutils.html"/> | ||
| 36 | <link rel="prev" title="messages – Message Utilities" href="messages.html"/> | ||
| 37 | |||
| 38 | |||
| 39 | <script src="../_static/js/modernizr.min.js"></script> | ||
| 40 | |||
| 41 | </head> | ||
| 42 | |||
| 43 | <body class="wy-body-for-nav" role="document"> | ||
| 44 | |||
| 45 | <div class="wy-grid-for-nav"> | ||
| 46 | |||
| 47 | |||
| 48 | <nav data-toggle="wy-nav-shift" class="wy-nav-side"> | ||
| 49 | <div class="wy-side-scroll"> | ||
| 50 | <div class="wy-side-nav-search"> | ||
| 51 | |||
| 52 | |||
| 53 | |||
| 54 | <a href="../index.html" class="icon icon-home"> EventMQ | ||
| 55 | |||
| 56 | |||
| 57 | |||
| 58 | </a> | ||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | <div class="version"> | ||
| 64 | 0 | ||
| 65 | </div> | ||
| 66 | |||
| 67 | |||
| 68 | |||
| 69 | |||
| 70 | <div role="search"> | ||
| 71 | <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> | ||
| 72 | <input type="text" name="q" placeholder="Search docs" /> | ||
| 73 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 74 | <input type="hidden" name="area" value="default" /> | ||
| 75 | </form> | ||
| 76 | </div> | ||
| 77 | |||
| 78 | |||
| 79 | </div> | ||
| 80 | |||
| 81 | <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> | ||
| 82 | |||
| 83 | |||
| 84 | |||
| 85 | <ul class="current"> | ||
| 86 | <li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Documentation</a><ul class="current"> | ||
| 87 | <li class="toctree-l2"><a class="reference internal" href="../client.html"><code class="docutils literal"><span class="pre">client</span></code> – Client Utilities</a></li> | ||
| 88 | <li class="toctree-l2"><a class="reference internal" href="../exceptions.html"><code class="docutils literal"><span class="pre">exceptions</span></code> – Exceptions</a></li> | ||
| 89 | <li class="toctree-l2"><a class="reference internal" href="../jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></li> | ||
| 90 | <li class="toctree-l2"><a class="reference internal" href="../poller.html"><code class="docutils literal"><span class="pre">poller</span></code> – Poller</a></li> | ||
| 91 | <li class="toctree-l2"><a class="reference internal" href="../receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | ||
| 92 | <li class="toctree-l2"><a class="reference internal" href="../router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | ||
| 93 | <li class="toctree-l2"><a class="reference internal" href="../sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | ||
| 94 | <li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a><ul class="current"> | ||
| 95 | <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> | ||
| 96 | <li class="toctree-l3"><a class="reference internal" href="devices.html"><code class="docutils literal"><span class="pre">devices</span></code> – Device Utilities</a></li> | ||
| 97 | <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> | ||
| 98 | <li class="toctree-l3 current"><a class="current reference internal" href=""><code class="docutils literal"><span class="pre">settings</span></code> – Settings Utilities</a></li> | ||
| 99 | <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> | ||
| 100 | </ul> | ||
| 101 | </li> | ||
| 102 | </ul> | ||
| 103 | </li> | ||
| 104 | <li class="toctree-l1"><a class="reference internal" href="../contributing.html">Contributing to EventMQ</a></li> | ||
| 105 | </ul> | ||
| 106 | |||
| 107 | |||
| 108 | |||
| 109 | </div> | ||
| 110 | </div> | ||
| 111 | </nav> | ||
| 112 | |||
| 113 | <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | ||
| 114 | |||
| 115 | |||
| 116 | <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> | ||
| 117 | <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||
| 118 | <a href="../index.html">EventMQ</a> | ||
| 119 | </nav> | ||
| 120 | |||
| 121 | |||
| 122 | |||
| 123 | <div class="wy-nav-content"> | ||
| 124 | <div class="rst-content"> | ||
| 125 | |||
| 126 | |||
| 127 | |||
| 128 | |||
| 129 | |||
| 130 | |||
| 131 | <div role="navigation" aria-label="breadcrumbs navigation"> | ||
| 132 | <ul class="wy-breadcrumbs"> | ||
| 133 | <li><a href="../index.html">Docs</a> »</li> | ||
| 134 | |||
| 135 | <li><a href="../api.html">API Documentation</a> »</li> | ||
| 136 | |||
| 137 | <li><a href="index.html"><code class="docutils literal"><span class="pre">utils</span></code> – Utilities</a> »</li> | ||
| 138 | |||
| 139 | <li><code class="docutils literal"><span class="pre">settings</span></code> – Settings Utilities</li> | ||
| 140 | <li class="wy-breadcrumbs-aside"> | ||
| 141 | |||
| 142 | |||
| 143 | <a href="../_sources/utils/settings.txt" rel="nofollow"> View page source</a> | ||
| 144 | |||
| 145 | |||
| 146 | </li> | ||
| 147 | </ul> | ||
| 148 | <hr/> | ||
| 149 | </div> | ||
| 150 | <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||
| 151 | <div itemprop="articleBody"> | ||
| 152 | |||
| 153 | <span class="target" id="module-eventmq.utils.settings"></span><div class="section" id="settings-settings-utilities"> | ||
| 154 | <h1><code class="xref py py-mod docutils literal"><span class="pre">settings</span></code> – Settings Utilities<a class="headerlink" href="#settings-settings-utilities" title="Permalink to this headline">¶</a></h1> | ||
| 155 | <dl class="function"> | ||
| 156 | <dt id="eventmq.utils.settings.import_settings"> | ||
| 157 | <code class="descclassname">eventmq.utils.settings.</code><code class="descname">import_settings</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.settings.import_settings" title="Permalink to this definition">¶</a></dt> | ||
| 158 | <dd><p>Import settings and apply to configuration globals</p> | ||
| 159 | </dd></dl> | ||
| 160 | |||
| 161 | </div> | ||
| 162 | |||
| 163 | |||
| 164 | </div> | ||
| 165 | </div> | ||
| 166 | <footer> | ||
| 167 | |||
| 168 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | ||
| 169 | |||
| 170 | <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> | ||
| 171 | |||
| 172 | |||
| 173 | <a href="messages.html" class="btn btn-neutral" title="messages – Message Utilities" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a> | ||
| 174 | |||
| 175 | </div> | ||
| 176 | |||
| 177 | |||
| 178 | <hr/> | ||
| 179 | |||
| 180 | <div role="contentinfo"> | ||
| 181 | <p> | ||
| 182 | © Copyright 2015, eventboard.io. | ||
| 183 | |||
| 184 | </p> | ||
| 185 | </div> | ||
| 186 | Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||
| 187 | |||
| 188 | </footer> | ||
| 189 | |||
| 190 | </div> | ||
| 191 | </div> | ||
| 192 | |||
| 193 | </section> | ||
| 194 | |||
| 195 | </div> | ||
| 196 | |||
| 197 | |||
| 198 | |||
| 199 | |||
| 200 | |||
| 201 | <script type="text/javascript"> | ||
| 202 | var DOCUMENTATION_OPTIONS = { | ||
| 203 | URL_ROOT:'../', | ||
| 204 | VERSION:'0', | ||
| 205 | COLLAPSE_INDEX:false, | ||
| 206 | FILE_SUFFIX:'.html', | ||
| 207 | HAS_SOURCE: true | ||
| 208 | }; | ||
| 209 | </script> | ||
| 210 | <script type="text/javascript" src="../_static/jquery.js"></script> | ||
| 211 | <script type="text/javascript" src="../_static/underscore.js"></script> | ||
| 212 | <script type="text/javascript" src="../_static/doctools.js"></script> | ||
| 213 | |||
| 214 | |||
| 215 | |||
| 216 | |||
| 217 | |||
| 218 | <script type="text/javascript" src="../_static/js/theme.js"></script> | ||
| 219 | |||
| 220 | |||
| 221 | |||
| 222 | |||
| 223 | <script type="text/javascript"> | ||
| 224 | jQuery(function () { | ||
| 225 | SphinxRtdTheme.StickyNav.enable(); | ||
| 226 | }); | ||
| 227 | </script> | ||
| 228 | |||
| 229 | |||
| 230 | </body> | ||
| 231 | </html> \ No newline at end of file | ||
diff --git a/utils/timeutils.html b/utils/timeutils.html index 72b99ed..087322b 100644 --- a/utils/timeutils.html +++ b/utils/timeutils.html | |||
| @@ -150,6 +150,48 @@ | |||
| 150 | 150 | ||
| 151 | <span class="target" id="module-eventmq.utils.timeutils"></span><div class="section" id="timeutils-time-utilites"> | 151 | <span class="target" id="module-eventmq.utils.timeutils"></span><div class="section" id="timeutils-time-utilites"> |
| 152 | <h1><code class="xref py py-mod docutils literal"><span class="pre">timeutils</span></code> – Time Utilites<a class="headerlink" href="#timeutils-time-utilites" title="Permalink to this headline">¶</a></h1> | 152 | <h1><code class="xref py py-mod docutils literal"><span class="pre">timeutils</span></code> – Time Utilites<a class="headerlink" href="#timeutils-time-utilites" title="Permalink to this headline">¶</a></h1> |
| 153 | <dl class="class"> | ||
| 154 | <dt id="eventmq.utils.timeutils.IntervalIter"> | ||
| 155 | <em class="property">class </em><code class="descclassname">eventmq.utils.timeutils.</code><code class="descname">IntervalIter</code><span class="sig-paren">(</span><em>start_value</em>, <em>interval_secs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.timeutils.IntervalIter" title="Permalink to this definition">¶</a></dt> | ||
| 156 | <dd><p>represents an interval (in seconds) and it’s <cite>next()</cite> execution time</p> | ||
| 157 | <dl class="docutils"> | ||
| 158 | <dt>Usage:</dt> | ||
| 159 | <dd><p class="first"># interval of 5min using monotonic clock (assume it starts at 0 for the | ||
| 160 | # sake of the example) | ||
| 161 | interval = IntervalIter(monotonic, 300) | ||
| 162 | # Py2</p> | ||
| 163 | <p>interval.next() # 300 | ||
| 164 | interval.next() # 600</p> | ||
| 165 | <p class="last"># Py3 | ||
| 166 | next(interval) # 300 | ||
| 167 | next(interval) # 600</p> | ||
| 168 | </dd> | ||
| 169 | </dl> | ||
| 170 | <dl class="method"> | ||
| 171 | <dt id="eventmq.utils.timeutils.IntervalIter.__init__"> | ||
| 172 | <code class="descname">__init__</code><span class="sig-paren">(</span><em>start_value</em>, <em>interval_secs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.utils.timeutils.IntervalIter.__init__" title="Permalink to this definition">¶</a></dt> | ||
| 173 | <dd><table class="docutils field-list" frame="void" rules="none"> | ||
| 174 | <col class="field-name" /> | ||
| 175 | <col class="field-body" /> | ||
| 176 | <tbody valign="top"> | ||
| 177 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 178 | <li><strong>start_value</strong> (<em>numeric</em>) – via <a class="reference internal" href="#eventmq.utils.timeutils.monotonic" title="eventmq.utils.timeutils.monotonic"><code class="xref py py-func docutils literal"><span class="pre">monotonic()</span></code></a> or <a class="reference internal" href="#eventmq.utils.timeutils.timestamp" title="eventmq.utils.timeutils.timestamp"><code class="xref py py-func docutils literal"><span class="pre">timestamp()</span></code></a></li> | ||
| 179 | <li><strong>interval_secs</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – </li> | ||
| 180 | </ul> | ||
| 181 | </td> | ||
| 182 | </tr> | ||
| 183 | </tbody> | ||
| 184 | </table> | ||
| 185 | </dd></dl> | ||
| 186 | |||
| 187 | <dl class="attribute"> | ||
| 188 | <dt id="eventmq.utils.timeutils.IntervalIter.__weakref__"> | ||
| 189 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.utils.timeutils.IntervalIter.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 190 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 191 | </dd></dl> | ||
| 192 | |||
| 193 | </dd></dl> | ||
| 194 | |||
| 153 | <dl class="function"> | 195 | <dl class="function"> |
| 154 | <dt id="eventmq.utils.timeutils.monotonic"> | 196 | <dt id="eventmq.utils.timeutils.monotonic"> |
| 155 | <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> | 197 | <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> |