diff options
| -rw-r--r-- | _sources/index.txt | 6 | ||||
| -rw-r--r-- | _sources/jobmanager.txt | 3 | ||||
| -rw-r--r-- | _sources/protocol.txt | 99 | ||||
| -rw-r--r-- | _sources/receiver.txt | 2 | ||||
| -rw-r--r-- | _sources/router.txt | 3 | ||||
| -rw-r--r-- | _sources/sender.txt | 3 | ||||
| -rw-r--r-- | genindex.html | 130 | ||||
| -rw-r--r-- | index.html | 13 | ||||
| -rw-r--r-- | jobmanager.html | 152 | ||||
| -rw-r--r-- | objects.inv | bin | 337 -> 449 bytes | |||
| -rw-r--r-- | protocol.html | 307 | ||||
| -rw-r--r-- | py-modindex.html | 36 | ||||
| -rw-r--r-- | receiver.html | 50 | ||||
| -rw-r--r-- | router.html | 29 | ||||
| -rw-r--r-- | searchindex.js | 2 | ||||
| -rw-r--r-- | sender.html | 253 |
16 files changed, 1019 insertions, 69 deletions
diff --git a/_sources/index.txt b/_sources/index.txt index 80569bc..6c9d065 100644 --- a/_sources/index.txt +++ b/_sources/index.txt | |||
| @@ -1,13 +1,17 @@ | |||
| 1 | Welcome to EventMQ's documentation! | 1 | Welcome to EventMQ's documentation! |
| 2 | =================================== | 2 | =================================== |
| 3 | 3 | ||
| 4 | :doc:`protocol` | ||
| 5 | |||
| 4 | Contents: | 6 | Contents: |
| 5 | 7 | ||
| 6 | .. toctree:: | 8 | .. toctree:: |
| 7 | :maxdepth: 2 | 9 | :maxdepth: 2 |
| 8 | 10 | ||
| 11 | jobmanager | ||
| 9 | receiver | 12 | receiver |
| 10 | router | 13 | router |
| 14 | sender | ||
| 11 | 15 | ||
| 12 | 16 | ||
| 13 | Indices and tables | 17 | Indices and tables |
diff --git a/_sources/jobmanager.txt b/_sources/jobmanager.txt new file mode 100644 index 0000000..65b439d --- /dev/null +++ b/_sources/jobmanager.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | .. automodule:: eventmq.jobmanager | ||
| 2 | :members: | ||
| 3 | :special-members: | ||
diff --git a/_sources/protocol.txt b/_sources/protocol.txt new file mode 100644 index 0000000..48dcacc --- /dev/null +++ b/_sources/protocol.txt | |||
| @@ -0,0 +1,99 @@ | |||
| 1 | EventMQ Protocol Specification | ||
| 2 | ============================== | ||
| 3 | *The status of this document is alpha and subject to heavy change* | ||
| 4 | |||
| 5 | Goals | ||
| 6 | ===== | ||
| 7 | The EventMQ Protocol (eMQP) defines a reliable service-oriented request-reply and pub-sub dialog between a set of clients, a broker, and a set of workers. This goal is to | ||
| 8 | |||
| 9 | The goals are to: | ||
| 10 | |||
| 11 | * Specify a protocol to follow when implementing a component to EventMQ. | ||
| 12 | * Allow requests to be routed to workers by an abstracted service name. | ||
| 13 | * Detect disconnected peers through heartbeating. | ||
| 14 | * Allow for message tracing and debugging. | ||
| 15 | |||
| 16 | |||
| 17 | License | ||
| 18 | ======= | ||
| 19 | This Specification is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | ||
| 20 | |||
| 21 | This Specification is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. | ||
| 22 | |||
| 23 | Language | ||
| 24 | ======== | ||
| 25 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119[[1](http://tools.ietf.org/html/rfc2119)]. | ||
| 26 | |||
| 27 | Architecture | ||
| 28 | ============ | ||
| 29 | insert pretty picture here | ||
| 30 | |||
| 31 | Topology | ||
| 32 | -------- | ||
| 33 | eMQP connects a set of client applications (e.g. web servers), a broker, and a pool of workers. Clients connect to the broker as well as the workers. | ||
| 34 | |||
| 35 | 'Clients' is defined as application issuing requests and 'workers' as applications that process these requests. (Workers consist of a `JobManager` and a pool of `Worker` resources where the job executes.) | ||
| 36 | |||
| 37 | The EventMQ broker handles a set of named queues. The broker SHOULD serve clients on a fair request and MAY deliver requests to workers on any basis, including 0MQ's built-in round robin or least-recently used. | ||
| 38 | |||
| 39 | ROUTER Addressing | ||
| 40 | ----------------- | ||
| 41 | In the case of request-reply, the broker MUST use a ROUTER socket to accept requests from both clients and workers. The broker MAY use a seperate socket implementing a subset of eMQP, or MAY use a single socket implementing all of eMQP. | ||
| 42 | |||
| 43 | From the 0MQ manual[[2](http://api.zeromq.org/master:zmq-socket)] | ||
| 44 | > When receiving messages a ROUTER socket shall prepend a message part containing the identity of the originating peer to the message before passing it to the application. When sending messages a ROUTER socket shall remove the first part of the message and use it to determine the identity of the peer the message shall be routed to. | ||
| 45 | |||
| 46 | This extra frame is not shown in the specifications below. | ||
| 47 | |||
| 48 | eMQP / Client | ||
| 49 | ------------- | ||
| 50 | A **REQUEST** command consists of 7-frame multipart message, formatted as follows. | ||
| 51 | |||
| 52 | ====== ============== =========== | ||
| 53 | FRAME Value Description | ||
| 54 | ====== ============== =========== | ||
| 55 | 0 _EMPTY_ leave empty | ||
| 56 | 1 eMQP/1.0 Protocol version | ||
| 57 | 2 READY Command | ||
| 58 | 3 _MSGID_ A unique id for the msg | ||
| 59 | 4 _QUEUE_NAME_ the name of the queue the worker belongs to | ||
| 60 | 5 _HEADERS_ dictionary of headers. can be an empty set | ||
| 61 | 6 _MSG_ The message to send | ||
| 62 | ====== ============== =========== | ||
| 63 | |||
| 64 | eMQP / Worker | ||
| 65 | ------------- | ||
| 66 | An **INFORM** command consists of a 5-frame multipart message, formatted as follows. | ||
| 67 | |||
| 68 | ====== ============== =========== | ||
| 69 | FRAME Value Description | ||
| 70 | ====== ============== =========== | ||
| 71 | 0 _EMPTY_ leave empty | ||
| 72 | 1 eMQP/1.0 Protocol version | ||
| 73 | 2 INFORM | ||
| 74 | 3 _MSGID_ A unique id for the msg | ||
| 75 | 4 _QUEUE_NAME_ the name of the queue the worker belongs to | ||
| 76 | ====== ============== =========== | ||
| 77 | |||
| 78 | A **READY** frame consists of a 4-frame multipart message, formatted as follows. | ||
| 79 | |||
| 80 | ====== ============== =========== | ||
| 81 | FRAME Value Description | ||
| 82 | ====== ============== =========== | ||
| 83 | 0 _EMPTY_ leave empty | ||
| 84 | 1 eMQP/1.0 Protocol version | ||
| 85 | 2 READY | ||
| 86 | 3 _MSGID_ A unique id for the msg | ||
| 87 | ====== ============== =========== | ||
| 88 | |||
| 89 | A **REPLY** frame consists of a 5-frame multipart message, formatted as follows. | ||
| 90 | |||
| 91 | ====== ============== =========== | ||
| 92 | FRAME Value Description | ||
| 93 | ====== ============== =========== | ||
| 94 | 0 _EMPTY_ leave empty | ||
| 95 | 1 eMQP/1.0 Protocol version | ||
| 96 | 2 REPLY | ||
| 97 | 3 _MSGID_ A unique id for the msg | ||
| 98 | 4 _MSG_ The reply to respond with | ||
| 99 | ====== ============== =========== | ||
diff --git a/_sources/receiver.txt b/_sources/receiver.txt index 1b61f63..854349c 100644 --- a/_sources/receiver.txt +++ b/_sources/receiver.txt | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | .. automodule:: receiver | 1 | .. automodule:: eventmq.receiver |
| 2 | :members: | 2 | :members: |
| 3 | :special-members: | 3 | :special-members: |
diff --git a/_sources/router.txt b/_sources/router.txt index 8e17e12..9f7f576 100644 --- a/_sources/router.txt +++ b/_sources/router.txt | |||
| @@ -1,2 +1,3 @@ | |||
| 1 | .. automodule:: router | 1 | .. automodule:: eventmq.router |
| 2 | :members: | 2 | :members: |
| 3 | :special-members: | ||
diff --git a/_sources/sender.txt b/_sources/sender.txt new file mode 100644 index 0000000..67a1338 --- /dev/null +++ b/_sources/sender.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | .. automodule:: eventmq.sender | ||
| 2 | :members: | ||
| 3 | :special-members: | ||
diff --git a/genindex.html b/genindex.html index cfe5043..f7b6577 100644 --- a/genindex.html +++ b/genindex.html | |||
| @@ -51,6 +51,8 @@ | |||
| 51 | <div class="genindex-jumpbox"> | 51 | <div class="genindex-jumpbox"> |
| 52 | <a href="#_"><strong>_</strong></a> | 52 | <a href="#_"><strong>_</strong></a> |
| 53 | | <a href="#C"><strong>C</strong></a> | 53 | | <a href="#C"><strong>C</strong></a> |
| 54 | | <a href="#E"><strong>E</strong></a> | ||
| 55 | | <a href="#J"><strong>J</strong></a> | ||
| 54 | | <a href="#L"><strong>L</strong></a> | 56 | | <a href="#L"><strong>L</strong></a> |
| 55 | | <a href="#N"><strong>N</strong></a> | 57 | | <a href="#N"><strong>N</strong></a> |
| 56 | | <a href="#R"><strong>R</strong></a> | 58 | | <a href="#R"><strong>R</strong></a> |
| @@ -62,15 +64,39 @@ | |||
| 62 | <table style="width: 100%" class="indextable genindextable"><tr> | 64 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 63 | <td style="width: 33%" valign="top"><dl> | 65 | <td style="width: 33%" valign="top"><dl> |
| 64 | 66 | ||
| 65 | <dt><a href="receiver.html#receiver.Receiver.__init__">__init__() (receiver.Receiver method)</a> | 67 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.__init__">__init__() (eventmq.jobmanager.JobManager method)</a> |
| 66 | </dt> | 68 | </dt> |
| 67 | 69 | ||
| 70 | <dd><dl> | ||
| 71 | |||
| 72 | <dt><a href="receiver.html#eventmq.receiver.Receiver.__init__">(eventmq.receiver.Receiver method)</a> | ||
| 73 | </dt> | ||
| 74 | |||
| 75 | |||
| 76 | <dt><a href="sender.html#eventmq.sender.Sender.__init__">(eventmq.sender.Sender method)</a> | ||
| 77 | </dt> | ||
| 78 | |||
| 79 | </dl></dd> | ||
| 68 | </dl></td> | 80 | </dl></td> |
| 69 | <td style="width: 33%" valign="top"><dl> | 81 | <td style="width: 33%" valign="top"><dl> |
| 70 | 82 | ||
| 71 | <dt><a href="receiver.html#receiver.Receiver.__weakref__">__weakref__ (receiver.Receiver attribute)</a> | 83 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager.__weakref__">__weakref__ (eventmq.jobmanager.JobManager attribute)</a> |
| 84 | </dt> | ||
| 85 | |||
| 86 | <dd><dl> | ||
| 87 | |||
| 88 | <dt><a href="receiver.html#eventmq.receiver.Receiver.__weakref__">(eventmq.receiver.Receiver attribute)</a> | ||
| 89 | </dt> | ||
| 90 | |||
| 91 | |||
| 92 | <dt><a href="router.html#eventmq.router.Router.__weakref__">(eventmq.router.Router attribute)</a> | ||
| 72 | </dt> | 93 | </dt> |
| 73 | 94 | ||
| 95 | |||
| 96 | <dt><a href="sender.html#eventmq.sender.Sender.__weakref__">(eventmq.sender.Sender attribute)</a> | ||
| 97 | </dt> | ||
| 98 | |||
| 99 | </dl></dd> | ||
| 74 | </dl></td> | 100 | </dl></td> |
| 75 | </tr></table> | 101 | </tr></table> |
| 76 | 102 | ||
| @@ -78,55 +104,105 @@ | |||
| 78 | <table style="width: 100%" class="indextable genindextable"><tr> | 104 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 79 | <td style="width: 33%" valign="top"><dl> | 105 | <td style="width: 33%" valign="top"><dl> |
| 80 | 106 | ||
| 81 | <dt><a href="receiver.html#receiver.Receiver.connect">connect() (receiver.Receiver method)</a> | 107 | <dt><a href="receiver.html#eventmq.receiver.Receiver.connect">connect() (eventmq.receiver.Receiver method)</a> |
| 108 | </dt> | ||
| 109 | |||
| 110 | <dd><dl> | ||
| 111 | |||
| 112 | <dt><a href="sender.html#eventmq.sender.Sender.connect">(eventmq.sender.Sender method)</a> | ||
| 82 | </dt> | 113 | </dt> |
| 83 | 114 | ||
| 115 | </dl></dd> | ||
| 84 | </dl></td> | 116 | </dl></td> |
| 85 | </tr></table> | 117 | </tr></table> |
| 86 | 118 | ||
| 87 | <h2 id="L">L</h2> | 119 | <h2 id="E">E</h2> |
| 88 | <table style="width: 100%" class="indextable genindextable"><tr> | 120 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 89 | <td style="width: 33%" valign="top"><dl> | 121 | <td style="width: 33%" valign="top"><dl> |
| 90 | 122 | ||
| 91 | <dt><a href="receiver.html#receiver.Receiver.listen">listen() (receiver.Receiver method)</a> | 123 | <dt><a href="jobmanager.html#module-eventmq.jobmanager">eventmq.jobmanager (module)</a> |
| 124 | </dt> | ||
| 125 | |||
| 126 | |||
| 127 | <dt><a href="receiver.html#module-eventmq.receiver">eventmq.receiver (module)</a> | ||
| 128 | </dt> | ||
| 129 | |||
| 130 | </dl></td> | ||
| 131 | <td style="width: 33%" valign="top"><dl> | ||
| 132 | |||
| 133 | <dt><a href="router.html#module-eventmq.router">eventmq.router (module)</a> | ||
| 134 | </dt> | ||
| 135 | |||
| 136 | |||
| 137 | <dt><a href="sender.html#module-eventmq.sender">eventmq.sender (module)</a> | ||
| 92 | </dt> | 138 | </dt> |
| 93 | 139 | ||
| 94 | </dl></td> | 140 | </dl></td> |
| 95 | </tr></table> | 141 | </tr></table> |
| 96 | 142 | ||
| 97 | <h2 id="N">N</h2> | 143 | <h2 id="J">J</h2> |
| 98 | <table style="width: 100%" class="indextable genindextable"><tr> | 144 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 99 | <td style="width: 33%" valign="top"><dl> | 145 | <td style="width: 33%" valign="top"><dl> |
| 100 | 146 | ||
| 101 | <dt><a href="receiver.html#receiver.Receiver.name">name (receiver.Receiver attribute)</a> | 147 | <dt><a href="jobmanager.html#eventmq.jobmanager.JobManager">JobManager (class in eventmq.jobmanager)</a> |
| 102 | </dt> | 148 | </dt> |
| 103 | 149 | ||
| 104 | </dl></td> | 150 | </dl></td> |
| 105 | </tr></table> | 151 | </tr></table> |
| 106 | 152 | ||
| 107 | <h2 id="R">R</h2> | 153 | <h2 id="L">L</h2> |
| 108 | <table style="width: 100%" class="indextable genindextable"><tr> | 154 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 109 | <td style="width: 33%" valign="top"><dl> | 155 | <td style="width: 33%" valign="top"><dl> |
| 110 | 156 | ||
| 111 | <dt><a href="receiver.html#receiver.Receiver.ready">ready (receiver.Receiver attribute)</a> | 157 | <dt><a href="receiver.html#eventmq.receiver.Receiver.listen">listen() (eventmq.receiver.Receiver method)</a> |
| 112 | </dt> | 158 | </dt> |
| 113 | 159 | ||
| 114 | 160 | <dd><dl> | |
| 115 | <dt><a href="receiver.html#receiver.Receiver">Receiver (class in receiver)</a> | 161 | |
| 162 | <dt><a href="sender.html#eventmq.sender.Sender.listen">(eventmq.sender.Sender method)</a> | ||
| 116 | </dt> | 163 | </dt> |
| 117 | 164 | ||
| 165 | </dl></dd> | ||
| 166 | </dl></td> | ||
| 167 | </tr></table> | ||
| 168 | |||
| 169 | <h2 id="N">N</h2> | ||
| 170 | <table style="width: 100%" class="indextable genindextable"><tr> | ||
| 171 | <td style="width: 33%" valign="top"><dl> | ||
| 118 | 172 | ||
| 119 | <dt><a href="receiver.html#module-receiver">receiver (module)</a> | 173 | <dt><a href="receiver.html#eventmq.receiver.Receiver.name">name (eventmq.receiver.Receiver attribute)</a> |
| 120 | </dt> | 174 | </dt> |
| 121 | 175 | ||
| 176 | <dd><dl> | ||
| 177 | |||
| 178 | <dt><a href="sender.html#eventmq.sender.Sender.name">(eventmq.sender.Sender attribute)</a> | ||
| 179 | </dt> | ||
| 180 | |||
| 181 | </dl></dd> | ||
| 122 | </dl></td> | 182 | </dl></td> |
| 183 | </tr></table> | ||
| 184 | |||
| 185 | <h2 id="R">R</h2> | ||
| 186 | <table style="width: 100%" class="indextable genindextable"><tr> | ||
| 123 | <td style="width: 33%" valign="top"><dl> | 187 | <td style="width: 33%" valign="top"><dl> |
| 124 | 188 | ||
| 125 | <dt><a href="router.html#router.Router">Router (class in router)</a> | 189 | <dt><a href="receiver.html#eventmq.receiver.Receiver.ready">ready (eventmq.receiver.Receiver attribute)</a> |
| 190 | </dt> | ||
| 191 | |||
| 192 | <dd><dl> | ||
| 193 | |||
| 194 | <dt><a href="sender.html#eventmq.sender.Sender.ready">(eventmq.sender.Sender attribute)</a> | ||
| 195 | </dt> | ||
| 196 | |||
| 197 | </dl></dd> | ||
| 198 | |||
| 199 | <dt><a href="receiver.html#eventmq.receiver.Receiver">Receiver (class in eventmq.receiver)</a> | ||
| 126 | </dt> | 200 | </dt> |
| 127 | 201 | ||
| 202 | </dl></td> | ||
| 203 | <td style="width: 33%" valign="top"><dl> | ||
| 128 | 204 | ||
| 129 | <dt><a href="router.html#module-router">router (module)</a> | 205 | <dt><a href="router.html#eventmq.router.Router">Router (class in eventmq.router)</a> |
| 130 | </dt> | 206 | </dt> |
| 131 | 207 | ||
| 132 | </dl></td> | 208 | </dl></td> |
| @@ -136,7 +212,21 @@ | |||
| 136 | <table style="width: 100%" class="indextable genindextable"><tr> | 212 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 137 | <td style="width: 33%" valign="top"><dl> | 213 | <td style="width: 33%" valign="top"><dl> |
| 138 | 214 | ||
| 139 | <dt><a href="router.html#router.Router.start">start() (router.Router method)</a> | 215 | <dt><a href="sender.html#eventmq.sender.Sender.send">send() (eventmq.sender.Sender method)</a> |
| 216 | </dt> | ||
| 217 | |||
| 218 | |||
| 219 | <dt><a href="sender.html#eventmq.sender.Sender.send_raw">send_raw() (eventmq.sender.Sender method)</a> | ||
| 220 | </dt> | ||
| 221 | |||
| 222 | </dl></td> | ||
| 223 | <td style="width: 33%" valign="top"><dl> | ||
| 224 | |||
| 225 | <dt><a href="sender.html#eventmq.sender.Sender">Sender (class in eventmq.sender)</a> | ||
| 226 | </dt> | ||
| 227 | |||
| 228 | |||
| 229 | <dt><a href="router.html#eventmq.router.Router.start">start() (eventmq.router.Router method)</a> | ||
| 140 | </dt> | 230 | </dt> |
| 141 | 231 | ||
| 142 | </dl></td> | 232 | </dl></td> |
| @@ -146,15 +236,21 @@ | |||
| 146 | <table style="width: 100%" class="indextable genindextable"><tr> | 236 | <table style="width: 100%" class="indextable genindextable"><tr> |
| 147 | <td style="width: 33%" valign="top"><dl> | 237 | <td style="width: 33%" valign="top"><dl> |
| 148 | 238 | ||
| 149 | <dt><a href="receiver.html#receiver.Receiver.zcontext">zcontext (receiver.Receiver attribute)</a> | 239 | <dt><a href="receiver.html#eventmq.receiver.Receiver.zcontext">zcontext (eventmq.receiver.Receiver attribute)</a> |
| 150 | </dt> | 240 | </dt> |
| 151 | 241 | ||
| 152 | </dl></td> | 242 | </dl></td> |
| 153 | <td style="width: 33%" valign="top"><dl> | 243 | <td style="width: 33%" valign="top"><dl> |
| 154 | 244 | ||
| 155 | <dt><a href="receiver.html#receiver.Receiver.zsocket">zsocket (receiver.Receiver attribute)</a> | 245 | <dt><a href="receiver.html#eventmq.receiver.Receiver.zsocket">zsocket (eventmq.receiver.Receiver attribute)</a> |
| 246 | </dt> | ||
| 247 | |||
| 248 | <dd><dl> | ||
| 249 | |||
| 250 | <dt><a href="sender.html#eventmq.sender.Sender.zsocket">(eventmq.sender.Sender attribute)</a> | ||
| 156 | </dt> | 251 | </dt> |
| 157 | 252 | ||
| 253 | </dl></dd> | ||
| 158 | </dl></td> | 254 | </dl></td> |
| 159 | </tr></table> | 255 | </tr></table> |
| 160 | 256 | ||
| @@ -24,7 +24,7 @@ | |||
| 24 | <script type="text/javascript" src="_static/underscore.js"></script> | 24 | <script type="text/javascript" src="_static/underscore.js"></script> |
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | 25 | <script type="text/javascript" src="_static/doctools.js"></script> |
| 26 | <link rel="top" title="EventMQ 0 documentation" href="#" /> | 26 | <link rel="top" title="EventMQ 0 documentation" href="#" /> |
| 27 | <link rel="next" title="receiver – Receiver" href="receiver.html" /> | 27 | <link rel="next" title="jobmanager – Job Manager" href="jobmanager.html" /> |
| 28 | </head> | 28 | </head> |
| 29 | <body role="document"> | 29 | <body role="document"> |
| 30 | <div class="related" role="navigation" aria-label="related navigation"> | 30 | <div class="related" role="navigation" aria-label="related navigation"> |
| @@ -37,7 +37,7 @@ | |||
| 37 | <a href="py-modindex.html" title="Python Module Index" | 37 | <a href="py-modindex.html" title="Python Module Index" |
| 38 | >modules</a> |</li> | 38 | >modules</a> |</li> |
| 39 | <li class="right" > | 39 | <li class="right" > |
| 40 | <a href="receiver.html" title="receiver – Receiver" | 40 | <a href="jobmanager.html" title="jobmanager – Job Manager" |
| 41 | accesskey="N">next</a> |</li> | 41 | accesskey="N">next</a> |</li> |
| 42 | <li class="nav-item nav-item-0"><a href="#">EventMQ 0 documentation</a> »</li> | 42 | <li class="nav-item nav-item-0"><a href="#">EventMQ 0 documentation</a> »</li> |
| 43 | </ul> | 43 | </ul> |
| @@ -50,11 +50,14 @@ | |||
| 50 | 50 | ||
| 51 | <div class="section" id="welcome-to-eventmq-s-documentation"> | 51 | <div class="section" id="welcome-to-eventmq-s-documentation"> |
| 52 | <h1>Welcome to EventMQ’s documentation!<a class="headerlink" href="#welcome-to-eventmq-s-documentation" title="Permalink to this headline">¶</a></h1> | 52 | <h1>Welcome to EventMQ’s documentation!<a class="headerlink" href="#welcome-to-eventmq-s-documentation" title="Permalink to this headline">¶</a></h1> |
| 53 | <p><a class="reference internal" href="protocol.html"><em>EventMQ Protocol Specification</em></a></p> | ||
| 53 | <p>Contents:</p> | 54 | <p>Contents:</p> |
| 54 | <div class="toctree-wrapper compound"> | 55 | <div class="toctree-wrapper compound"> |
| 55 | <ul> | 56 | <ul> |
| 57 | <li class="toctree-l1"><a class="reference internal" href="jobmanager.html"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></li> | ||
| 56 | <li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> | 58 | <li class="toctree-l1"><a class="reference internal" href="receiver.html"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></li> |
| 57 | <li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> | 59 | <li class="toctree-l1"><a class="reference internal" href="router.html"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></li> |
| 60 | <li class="toctree-l1"><a class="reference internal" href="sender.html"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></li> | ||
| 58 | </ul> | 61 | </ul> |
| 59 | </div> | 62 | </div> |
| 60 | </div> | 63 | </div> |
| @@ -80,8 +83,8 @@ | |||
| 80 | </ul> | 83 | </ul> |
| 81 | 84 | ||
| 82 | <h4>Next topic</h4> | 85 | <h4>Next topic</h4> |
| 83 | <p class="topless"><a href="receiver.html" | 86 | <p class="topless"><a href="jobmanager.html" |
| 84 | title="next chapter"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></p> | 87 | title="next chapter"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></p> |
| 85 | <div role="note" aria-label="source link"> | 88 | <div role="note" aria-label="source link"> |
| 86 | <h3>This Page</h3> | 89 | <h3>This Page</h3> |
| 87 | <ul class="this-page-menu"> | 90 | <ul class="this-page-menu"> |
| @@ -116,7 +119,7 @@ | |||
| 116 | <a href="py-modindex.html" title="Python Module Index" | 119 | <a href="py-modindex.html" title="Python Module Index" |
| 117 | >modules</a> |</li> | 120 | >modules</a> |</li> |
| 118 | <li class="right" > | 121 | <li class="right" > |
| 119 | <a href="receiver.html" title="receiver – Receiver" | 122 | <a href="jobmanager.html" title="jobmanager – Job Manager" |
| 120 | >next</a> |</li> | 123 | >next</a> |</li> |
| 121 | <li class="nav-item nav-item-0"><a href="#">EventMQ 0 documentation</a> »</li> | 124 | <li class="nav-item nav-item-0"><a href="#">EventMQ 0 documentation</a> »</li> |
| 122 | </ul> | 125 | </ul> |
diff --git a/jobmanager.html b/jobmanager.html new file mode 100644 index 0000000..d430f67 --- /dev/null +++ b/jobmanager.html | |||
| @@ -0,0 +1,152 @@ | |||
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
| 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
| 3 | |||
| 4 | |||
| 5 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
| 6 | <head> | ||
| 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 8 | |||
| 9 | <title>jobmanager – Job Manager — EventMQ 0 documentation</title> | ||
| 10 | |||
| 11 | <link rel="stylesheet" href="_static/classic.css" type="text/css" /> | ||
| 12 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||
| 13 | |||
| 14 | <script type="text/javascript"> | ||
| 15 | var DOCUMENTATION_OPTIONS = { | ||
| 16 | URL_ROOT: './', | ||
| 17 | VERSION: '0', | ||
| 18 | COLLAPSE_INDEX: false, | ||
| 19 | FILE_SUFFIX: '.html', | ||
| 20 | HAS_SOURCE: true | ||
| 21 | }; | ||
| 22 | </script> | ||
| 23 | <script type="text/javascript" src="_static/jquery.js"></script> | ||
| 24 | <script type="text/javascript" src="_static/underscore.js"></script> | ||
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | ||
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | ||
| 27 | <link rel="next" title="receiver – Receiver" href="receiver.html" /> | ||
| 28 | <link rel="prev" title="Welcome to EventMQ’s documentation!" href="index.html" /> | ||
| 29 | </head> | ||
| 30 | <body role="document"> | ||
| 31 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 32 | <h3>Navigation</h3> | ||
| 33 | <ul> | ||
| 34 | <li class="right" style="margin-right: 10px"> | ||
| 35 | <a href="genindex.html" title="General Index" | ||
| 36 | accesskey="I">index</a></li> | ||
| 37 | <li class="right" > | ||
| 38 | <a href="py-modindex.html" title="Python Module Index" | ||
| 39 | >modules</a> |</li> | ||
| 40 | <li class="right" > | ||
| 41 | <a href="receiver.html" title="receiver – Receiver" | ||
| 42 | accesskey="N">next</a> |</li> | ||
| 43 | <li class="right" > | ||
| 44 | <a href="index.html" title="Welcome to EventMQ’s documentation!" | ||
| 45 | accesskey="P">previous</a> |</li> | ||
| 46 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 47 | </ul> | ||
| 48 | </div> | ||
| 49 | |||
| 50 | <div class="document"> | ||
| 51 | <div class="documentwrapper"> | ||
| 52 | <div class="bodywrapper"> | ||
| 53 | <div class="body" role="main"> | ||
| 54 | |||
| 55 | <span class="target" id="module-eventmq.jobmanager"></span><div class="section" id="jobmanager-job-manager"> | ||
| 56 | <h1><code class="xref py py-mod docutils literal"><span class="pre">jobmanager</span></code> – Job Manager<a class="headerlink" href="#jobmanager-job-manager" title="Permalink to this headline">¶</a></h1> | ||
| 57 | <p>Ensures things about jobs | ||
| 58 | Spawns and manages workers</p> | ||
| 59 | <dl class="class"> | ||
| 60 | <dt id="eventmq.jobmanager.JobManager"> | ||
| 61 | <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> | ||
| 62 | <dd><p>The exposed portion of the worker. The job manager’s main responsibility is | ||
| 63 | to manage the resources on the server it’s running.</p> | ||
| 64 | <p>This job manager uses tornado’s eventloop.</p> | ||
| 65 | <dl class="method"> | ||
| 66 | <dt id="eventmq.jobmanager.JobManager.__init__"> | ||
| 67 | <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> | ||
| 68 | <dd><div class="admonition note"> | ||
| 69 | <p class="first admonition-title">Note</p> | ||
| 70 | <p class="last">All args are optional unless otherwise noted.</p> | ||
| 71 | </div> | ||
| 72 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 73 | <col class="field-name" /> | ||
| 74 | <col class="field-body" /> | ||
| 75 | <tbody valign="top"> | ||
| 76 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#str" title="(in Python v2.7)"><em>str</em></a>) – unique name of this instance. By default a uuid will be | ||
| 77 | generated.</td> | ||
| 78 | </tr> | ||
| 79 | </tbody> | ||
| 80 | </table> | ||
| 81 | </dd></dl> | ||
| 82 | |||
| 83 | <dl class="attribute"> | ||
| 84 | <dt id="eventmq.jobmanager.JobManager.__weakref__"> | ||
| 85 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.jobmanager.JobManager.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 86 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 87 | </dd></dl> | ||
| 88 | |||
| 89 | </dd></dl> | ||
| 90 | |||
| 91 | </div> | ||
| 92 | |||
| 93 | |||
| 94 | </div> | ||
| 95 | </div> | ||
| 96 | </div> | ||
| 97 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
| 98 | <div class="sphinxsidebarwrapper"> | ||
| 99 | <h4>Previous topic</h4> | ||
| 100 | <p class="topless"><a href="index.html" | ||
| 101 | title="previous chapter">Welcome to EventMQ’s documentation!</a></p> | ||
| 102 | <h4>Next topic</h4> | ||
| 103 | <p class="topless"><a href="receiver.html" | ||
| 104 | title="next chapter"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></p> | ||
| 105 | <div role="note" aria-label="source link"> | ||
| 106 | <h3>This Page</h3> | ||
| 107 | <ul class="this-page-menu"> | ||
| 108 | <li><a href="_sources/jobmanager.txt" | ||
| 109 | rel="nofollow">Show Source</a></li> | ||
| 110 | </ul> | ||
| 111 | </div> | ||
| 112 | <div id="searchbox" style="display: none" role="search"> | ||
| 113 | <h3>Quick search</h3> | ||
| 114 | <form class="search" action="search.html" method="get"> | ||
| 115 | <input type="text" name="q" /> | ||
| 116 | <input type="submit" value="Go" /> | ||
| 117 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 118 | <input type="hidden" name="area" value="default" /> | ||
| 119 | </form> | ||
| 120 | <p class="searchtip" style="font-size: 90%"> | ||
| 121 | Enter search terms or a module, class or function name. | ||
| 122 | </p> | ||
| 123 | </div> | ||
| 124 | <script type="text/javascript">$('#searchbox').show(0);</script> | ||
| 125 | </div> | ||
| 126 | </div> | ||
| 127 | <div class="clearer"></div> | ||
| 128 | </div> | ||
| 129 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 130 | <h3>Navigation</h3> | ||
| 131 | <ul> | ||
| 132 | <li class="right" style="margin-right: 10px"> | ||
| 133 | <a href="genindex.html" title="General Index" | ||
| 134 | >index</a></li> | ||
| 135 | <li class="right" > | ||
| 136 | <a href="py-modindex.html" title="Python Module Index" | ||
| 137 | >modules</a> |</li> | ||
| 138 | <li class="right" > | ||
| 139 | <a href="receiver.html" title="receiver – Receiver" | ||
| 140 | >next</a> |</li> | ||
| 141 | <li class="right" > | ||
| 142 | <a href="index.html" title="Welcome to EventMQ’s documentation!" | ||
| 143 | >previous</a> |</li> | ||
| 144 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 145 | </ul> | ||
| 146 | </div> | ||
| 147 | <div class="footer" role="contentinfo"> | ||
| 148 | © Copyright 2015, eventboard.io. | ||
| 149 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1. | ||
| 150 | </div> | ||
| 151 | </body> | ||
| 152 | </html> \ No newline at end of file | ||
diff --git a/objects.inv b/objects.inv index 822941c..a13b23e 100644 --- a/objects.inv +++ b/objects.inv | |||
| Binary files differ | |||
diff --git a/protocol.html b/protocol.html new file mode 100644 index 0000000..196bb80 --- /dev/null +++ b/protocol.html | |||
| @@ -0,0 +1,307 @@ | |||
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
| 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
| 3 | |||
| 4 | |||
| 5 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
| 6 | <head> | ||
| 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 8 | |||
| 9 | <title>EventMQ Protocol Specification — EventMQ 0 documentation</title> | ||
| 10 | |||
| 11 | <link rel="stylesheet" href="_static/classic.css" type="text/css" /> | ||
| 12 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||
| 13 | |||
| 14 | <script type="text/javascript"> | ||
| 15 | var DOCUMENTATION_OPTIONS = { | ||
| 16 | URL_ROOT: './', | ||
| 17 | VERSION: '0', | ||
| 18 | COLLAPSE_INDEX: false, | ||
| 19 | FILE_SUFFIX: '.html', | ||
| 20 | HAS_SOURCE: true | ||
| 21 | }; | ||
| 22 | </script> | ||
| 23 | <script type="text/javascript" src="_static/jquery.js"></script> | ||
| 24 | <script type="text/javascript" src="_static/underscore.js"></script> | ||
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | ||
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | ||
| 27 | </head> | ||
| 28 | <body role="document"> | ||
| 29 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 30 | <h3>Navigation</h3> | ||
| 31 | <ul> | ||
| 32 | <li class="right" style="margin-right: 10px"> | ||
| 33 | <a href="genindex.html" title="General Index" | ||
| 34 | accesskey="I">index</a></li> | ||
| 35 | <li class="right" > | ||
| 36 | <a href="py-modindex.html" title="Python Module Index" | ||
| 37 | >modules</a> |</li> | ||
| 38 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 39 | </ul> | ||
| 40 | </div> | ||
| 41 | |||
| 42 | <div class="document"> | ||
| 43 | <div class="documentwrapper"> | ||
| 44 | <div class="bodywrapper"> | ||
| 45 | <div class="body" role="main"> | ||
| 46 | |||
| 47 | <div class="section" id="eventmq-protocol-specification"> | ||
| 48 | <h1>EventMQ Protocol Specification<a class="headerlink" href="#eventmq-protocol-specification" title="Permalink to this headline">¶</a></h1> | ||
| 49 | <p><em>The status of this document is alpha and subject to heavy change</em></p> | ||
| 50 | </div> | ||
| 51 | <div class="section" id="goals"> | ||
| 52 | <h1>Goals<a class="headerlink" href="#goals" title="Permalink to this headline">¶</a></h1> | ||
| 53 | <p>The EventMQ Protocol (eMQP) defines a reliable service-oriented request-reply and pub-sub dialog between a set of clients, a broker, and a set of workers. This goal is to</p> | ||
| 54 | <p>The goals are to:</p> | ||
| 55 | <blockquote> | ||
| 56 | <div><ul class="simple"> | ||
| 57 | <li>Specify a protocol to follow when implementing a component to EventMQ.</li> | ||
| 58 | <li>Allow requests to be routed to workers by an abstracted service name.</li> | ||
| 59 | <li>Detect disconnected peers through heartbeating.</li> | ||
| 60 | <li>Allow for message tracing and debugging.</li> | ||
| 61 | </ul> | ||
| 62 | </div></blockquote> | ||
| 63 | </div> | ||
| 64 | <div class="section" id="license"> | ||
| 65 | <h1>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h1> | ||
| 66 | <p>This Specification is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</p> | ||
| 67 | <p>This Specification is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p> | ||
| 68 | </div> | ||
| 69 | <div class="section" id="language"> | ||
| 70 | <h1>Language<a class="headerlink" href="#language" title="Permalink to this headline">¶</a></h1> | ||
| 71 | <p>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119[[1](<a class="reference external" href="http://tools.ietf.org/html/rfc2119">http://tools.ietf.org/html/rfc2119</a>)].</p> | ||
| 72 | </div> | ||
| 73 | <div class="section" id="architecture"> | ||
| 74 | <h1>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h1> | ||
| 75 | <p>insert pretty picture here</p> | ||
| 76 | <div class="section" id="topology"> | ||
| 77 | <h2>Topology<a class="headerlink" href="#topology" title="Permalink to this headline">¶</a></h2> | ||
| 78 | <p>eMQP connects a set of client applications (e.g. web servers), a broker, and a pool of workers. Clients connect to the broker as well as the workers.</p> | ||
| 79 | <p>‘Clients’ is defined as application issuing requests and ‘workers’ as applications that process these requests. (Workers consist of a <cite>JobManager</cite> and a pool of <cite>Worker</cite> resources where the job executes.)</p> | ||
| 80 | <p>The EventMQ broker handles a set of named queues. The broker SHOULD serve clients on a fair request and MAY deliver requests to workers on any basis, including 0MQ’s built-in round robin or least-recently used.</p> | ||
| 81 | </div> | ||
| 82 | <div class="section" id="router-addressing"> | ||
| 83 | <h2>ROUTER Addressing<a class="headerlink" href="#router-addressing" title="Permalink to this headline">¶</a></h2> | ||
| 84 | <p>In the case of request-reply, the broker MUST use a ROUTER socket to accept requests from both clients and workers. The broker MAY use a seperate socket implementing a subset of eMQP, or MAY use a single socket implementing all of eMQP.</p> | ||
| 85 | <p>From the 0MQ manual[[2](<a class="reference external" href="http://api.zeromq.org/master:zmq-socket">http://api.zeromq.org/master:zmq-socket</a>)] | ||
| 86 | > When receiving messages a ROUTER socket shall prepend a message part containing the identity of the originating peer to the message before passing it to the application. When sending messages a ROUTER socket shall remove the first part of the message and use it to determine the identity of the peer the message shall be routed to.</p> | ||
| 87 | <p>This extra frame is not shown in the specifications below.</p> | ||
| 88 | </div> | ||
| 89 | <div class="section" id="emqp-client"> | ||
| 90 | <h2>eMQP / Client<a class="headerlink" href="#emqp-client" title="Permalink to this headline">¶</a></h2> | ||
| 91 | <p>A <strong>REQUEST</strong> command consists of 7-frame multipart message, formatted as follows.</p> | ||
| 92 | <table border="1" class="docutils"> | ||
| 93 | <colgroup> | ||
| 94 | <col width="10%" /> | ||
| 95 | <col width="22%" /> | ||
| 96 | <col width="68%" /> | ||
| 97 | </colgroup> | ||
| 98 | <thead valign="bottom"> | ||
| 99 | <tr class="row-odd"><th class="head">FRAME</th> | ||
| 100 | <th class="head">Value</th> | ||
| 101 | <th class="head">Description</th> | ||
| 102 | </tr> | ||
| 103 | </thead> | ||
| 104 | <tbody valign="top"> | ||
| 105 | <tr class="row-even"><td>0</td> | ||
| 106 | <td>_EMPTY_</td> | ||
| 107 | <td>leave empty</td> | ||
| 108 | </tr> | ||
| 109 | <tr class="row-odd"><td>1</td> | ||
| 110 | <td>eMQP/1.0</td> | ||
| 111 | <td>Protocol version</td> | ||
| 112 | </tr> | ||
| 113 | <tr class="row-even"><td>2</td> | ||
| 114 | <td>READY</td> | ||
| 115 | <td>Command</td> | ||
| 116 | </tr> | ||
| 117 | <tr class="row-odd"><td>3</td> | ||
| 118 | <td>_MSGID_</td> | ||
| 119 | <td>A unique id for the msg</td> | ||
| 120 | </tr> | ||
| 121 | <tr class="row-even"><td>4</td> | ||
| 122 | <td>_QUEUE_NAME_</td> | ||
| 123 | <td>the name of the queue the worker belongs to</td> | ||
| 124 | </tr> | ||
| 125 | <tr class="row-odd"><td>5</td> | ||
| 126 | <td>_HEADERS_</td> | ||
| 127 | <td>dictionary of headers. can be an empty set</td> | ||
| 128 | </tr> | ||
| 129 | <tr class="row-even"><td>6</td> | ||
| 130 | <td>_MSG_</td> | ||
| 131 | <td>The message to send</td> | ||
| 132 | </tr> | ||
| 133 | </tbody> | ||
| 134 | </table> | ||
| 135 | </div> | ||
| 136 | <div class="section" id="emqp-worker"> | ||
| 137 | <h2>eMQP / Worker<a class="headerlink" href="#emqp-worker" title="Permalink to this headline">¶</a></h2> | ||
| 138 | <p>An <strong>INFORM</strong> command consists of a 5-frame multipart message, formatted as follows.</p> | ||
| 139 | <table border="1" class="docutils"> | ||
| 140 | <colgroup> | ||
| 141 | <col width="10%" /> | ||
| 142 | <col width="22%" /> | ||
| 143 | <col width="68%" /> | ||
| 144 | </colgroup> | ||
| 145 | <thead valign="bottom"> | ||
| 146 | <tr class="row-odd"><th class="head">FRAME</th> | ||
| 147 | <th class="head">Value</th> | ||
| 148 | <th class="head">Description</th> | ||
| 149 | </tr> | ||
| 150 | </thead> | ||
| 151 | <tbody valign="top"> | ||
| 152 | <tr class="row-even"><td>0</td> | ||
| 153 | <td>_EMPTY_</td> | ||
| 154 | <td>leave empty</td> | ||
| 155 | </tr> | ||
| 156 | <tr class="row-odd"><td>1</td> | ||
| 157 | <td>eMQP/1.0</td> | ||
| 158 | <td>Protocol version</td> | ||
| 159 | </tr> | ||
| 160 | <tr class="row-even"><td>2</td> | ||
| 161 | <td>INFORM</td> | ||
| 162 | <td> </td> | ||
| 163 | </tr> | ||
| 164 | <tr class="row-odd"><td>3</td> | ||
| 165 | <td>_MSGID_</td> | ||
| 166 | <td>A unique id for the msg</td> | ||
| 167 | </tr> | ||
| 168 | <tr class="row-even"><td>4</td> | ||
| 169 | <td>_QUEUE_NAME_</td> | ||
| 170 | <td>the name of the queue the worker belongs to</td> | ||
| 171 | </tr> | ||
| 172 | </tbody> | ||
| 173 | </table> | ||
| 174 | <p>A <strong>READY</strong> frame consists of a 4-frame multipart message, formatted as follows.</p> | ||
| 175 | <table border="1" class="docutils"> | ||
| 176 | <colgroup> | ||
| 177 | <col width="14%" /> | ||
| 178 | <col width="33%" /> | ||
| 179 | <col width="53%" /> | ||
| 180 | </colgroup> | ||
| 181 | <thead valign="bottom"> | ||
| 182 | <tr class="row-odd"><th class="head">FRAME</th> | ||
| 183 | <th class="head">Value</th> | ||
| 184 | <th class="head">Description</th> | ||
| 185 | </tr> | ||
| 186 | </thead> | ||
| 187 | <tbody valign="top"> | ||
| 188 | <tr class="row-even"><td>0</td> | ||
| 189 | <td>_EMPTY_</td> | ||
| 190 | <td>leave empty</td> | ||
| 191 | </tr> | ||
| 192 | <tr class="row-odd"><td>1</td> | ||
| 193 | <td>eMQP/1.0</td> | ||
| 194 | <td>Protocol version</td> | ||
| 195 | </tr> | ||
| 196 | <tr class="row-even"><td>2</td> | ||
| 197 | <td>READY</td> | ||
| 198 | <td> </td> | ||
| 199 | </tr> | ||
| 200 | <tr class="row-odd"><td>3</td> | ||
| 201 | <td>_MSGID_</td> | ||
| 202 | <td>A unique id for the msg</td> | ||
| 203 | </tr> | ||
| 204 | </tbody> | ||
| 205 | </table> | ||
| 206 | <p>A <strong>REPLY</strong> frame consists of a 5-frame multipart message, formatted as follows.</p> | ||
| 207 | <table border="1" class="docutils"> | ||
| 208 | <colgroup> | ||
| 209 | <col width="13%" /> | ||
| 210 | <col width="31%" /> | ||
| 211 | <col width="56%" /> | ||
| 212 | </colgroup> | ||
| 213 | <thead valign="bottom"> | ||
| 214 | <tr class="row-odd"><th class="head">FRAME</th> | ||
| 215 | <th class="head">Value</th> | ||
| 216 | <th class="head">Description</th> | ||
| 217 | </tr> | ||
| 218 | </thead> | ||
| 219 | <tbody valign="top"> | ||
| 220 | <tr class="row-even"><td>0</td> | ||
| 221 | <td>_EMPTY_</td> | ||
| 222 | <td>leave empty</td> | ||
| 223 | </tr> | ||
| 224 | <tr class="row-odd"><td>1</td> | ||
| 225 | <td>eMQP/1.0</td> | ||
| 226 | <td>Protocol version</td> | ||
| 227 | </tr> | ||
| 228 | <tr class="row-even"><td>2</td> | ||
| 229 | <td>REPLY</td> | ||
| 230 | <td> </td> | ||
| 231 | </tr> | ||
| 232 | <tr class="row-odd"><td>3</td> | ||
| 233 | <td>_MSGID_</td> | ||
| 234 | <td>A unique id for the msg</td> | ||
| 235 | </tr> | ||
| 236 | <tr class="row-even"><td>4</td> | ||
| 237 | <td>_MSG_</td> | ||
| 238 | <td>The reply to respond with</td> | ||
| 239 | </tr> | ||
| 240 | </tbody> | ||
| 241 | </table> | ||
| 242 | </div> | ||
| 243 | </div> | ||
| 244 | |||
| 245 | |||
| 246 | </div> | ||
| 247 | </div> | ||
| 248 | </div> | ||
| 249 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
| 250 | <div class="sphinxsidebarwrapper"> | ||
| 251 | <h3><a href="index.html">Table Of Contents</a></h3> | ||
| 252 | <ul> | ||
| 253 | <li><a class="reference internal" href="#">EventMQ Protocol Specification</a></li> | ||
| 254 | <li><a class="reference internal" href="#goals">Goals</a></li> | ||
| 255 | <li><a class="reference internal" href="#license">License</a></li> | ||
| 256 | <li><a class="reference internal" href="#language">Language</a></li> | ||
| 257 | <li><a class="reference internal" href="#architecture">Architecture</a><ul> | ||
| 258 | <li><a class="reference internal" href="#topology">Topology</a></li> | ||
| 259 | <li><a class="reference internal" href="#router-addressing">ROUTER Addressing</a></li> | ||
| 260 | <li><a class="reference internal" href="#emqp-client">eMQP / Client</a></li> | ||
| 261 | <li><a class="reference internal" href="#emqp-worker">eMQP / Worker</a></li> | ||
| 262 | </ul> | ||
| 263 | </li> | ||
| 264 | </ul> | ||
| 265 | |||
| 266 | <div role="note" aria-label="source link"> | ||
| 267 | <h3>This Page</h3> | ||
| 268 | <ul class="this-page-menu"> | ||
| 269 | <li><a href="_sources/protocol.txt" | ||
| 270 | rel="nofollow">Show Source</a></li> | ||
| 271 | </ul> | ||
| 272 | </div> | ||
| 273 | <div id="searchbox" style="display: none" role="search"> | ||
| 274 | <h3>Quick search</h3> | ||
| 275 | <form class="search" action="search.html" method="get"> | ||
| 276 | <input type="text" name="q" /> | ||
| 277 | <input type="submit" value="Go" /> | ||
| 278 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 279 | <input type="hidden" name="area" value="default" /> | ||
| 280 | </form> | ||
| 281 | <p class="searchtip" style="font-size: 90%"> | ||
| 282 | Enter search terms or a module, class or function name. | ||
| 283 | </p> | ||
| 284 | </div> | ||
| 285 | <script type="text/javascript">$('#searchbox').show(0);</script> | ||
| 286 | </div> | ||
| 287 | </div> | ||
| 288 | <div class="clearer"></div> | ||
| 289 | </div> | ||
| 290 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 291 | <h3>Navigation</h3> | ||
| 292 | <ul> | ||
| 293 | <li class="right" style="margin-right: 10px"> | ||
| 294 | <a href="genindex.html" title="General Index" | ||
| 295 | >index</a></li> | ||
| 296 | <li class="right" > | ||
| 297 | <a href="py-modindex.html" title="Python Module Index" | ||
| 298 | >modules</a> |</li> | ||
| 299 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 300 | </ul> | ||
| 301 | </div> | ||
| 302 | <div class="footer" role="contentinfo"> | ||
| 303 | © Copyright 2015, eventboard.io. | ||
| 304 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1. | ||
| 305 | </div> | ||
| 306 | </body> | ||
| 307 | </html> \ No newline at end of file | ||
diff --git a/py-modindex.html b/py-modindex.html index ee308bd..2ee764b 100644 --- a/py-modindex.html +++ b/py-modindex.html | |||
| @@ -26,10 +26,6 @@ | |||
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | <script type="text/javascript"> | ||
| 30 | DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true; | ||
| 31 | </script> | ||
| 32 | |||
| 33 | 29 | ||
| 34 | </head> | 30 | </head> |
| 35 | <body role="document"> | 31 | <body role="document"> |
| @@ -55,22 +51,38 @@ | |||
| 55 | <h1>Python Module Index</h1> | 51 | <h1>Python Module Index</h1> |
| 56 | 52 | ||
| 57 | <div class="modindex-jumpbox"> | 53 | <div class="modindex-jumpbox"> |
| 58 | <a href="#cap-r"><strong>r</strong></a> | 54 | <a href="#cap-e"><strong>e</strong></a> |
| 59 | </div> | 55 | </div> |
| 60 | 56 | ||
| 61 | <table class="indextable modindextable" cellspacing="0" cellpadding="2"> | 57 | <table class="indextable modindextable" cellspacing="0" cellpadding="2"> |
| 62 | <tr class="pcap"><td></td><td> </td><td></td></tr> | 58 | <tr class="pcap"><td></td><td> </td><td></td></tr> |
| 63 | <tr class="cap" id="cap-r"><td></td><td> | 59 | <tr class="cap" id="cap-e"><td></td><td> |
| 64 | <strong>r</strong></td><td></td></tr> | 60 | <strong>e</strong></td><td></td></tr> |
| 65 | <tr> | 61 | <tr> |
| 66 | <td></td> | 62 | <td><img src="_static/minus.png" class="toggler" |
| 63 | id="toggle-1" style="display: none" alt="-" /></td> | ||
| 67 | <td> | 64 | <td> |
| 68 | <a href="receiver.html#module-receiver"><code class="xref">receiver</code></a></td><td> | 65 | <code class="xref">eventmq</code></td><td> |
| 69 | <em></em></td></tr> | 66 | <em></em></td></tr> |
| 70 | <tr> | 67 | <tr class="cg-1"> |
| 71 | <td></td> | 68 | <td></td> |
| 72 | <td> | 69 | <td> |
| 73 | <a href="router.html#module-router"><code class="xref">router</code></a></td><td> | 70 | <a href="jobmanager.html#module-eventmq.jobmanager"><code class="xref">eventmq.jobmanager</code></a></td><td> |
| 71 | <em></em></td></tr> | ||
| 72 | <tr class="cg-1"> | ||
| 73 | <td></td> | ||
| 74 | <td> | ||
| 75 | <a href="receiver.html#module-eventmq.receiver"><code class="xref">eventmq.receiver</code></a></td><td> | ||
| 76 | <em></em></td></tr> | ||
| 77 | <tr class="cg-1"> | ||
| 78 | <td></td> | ||
| 79 | <td> | ||
| 80 | <a href="router.html#module-eventmq.router"><code class="xref">eventmq.router</code></a></td><td> | ||
| 81 | <em></em></td></tr> | ||
| 82 | <tr class="cg-1"> | ||
| 83 | <td></td> | ||
| 84 | <td> | ||
| 85 | <a href="sender.html#module-eventmq.sender"><code class="xref">eventmq.sender</code></a></td><td> | ||
| 74 | <em></em></td></tr> | 86 | <em></em></td></tr> |
| 75 | </table> | 87 | </table> |
| 76 | 88 | ||
diff --git a/receiver.html b/receiver.html index d81d16d..0140afa 100644 --- a/receiver.html +++ b/receiver.html | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | 25 | <script type="text/javascript" src="_static/doctools.js"></script> |
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> |
| 27 | <link rel="next" title="router – Router" href="router.html" /> | 27 | <link rel="next" title="router – Router" href="router.html" /> |
| 28 | <link rel="prev" title="Welcome to EventMQ’s documentation!" href="index.html" /> | 28 | <link rel="prev" title="jobmanager – Job Manager" href="jobmanager.html" /> |
| 29 | </head> | 29 | </head> |
| 30 | <body role="document"> | 30 | <body role="document"> |
| 31 | <div class="related" role="navigation" aria-label="related navigation"> | 31 | <div class="related" role="navigation" aria-label="related navigation"> |
| @@ -41,7 +41,7 @@ | |||
| 41 | <a href="router.html" title="router – Router" | 41 | <a href="router.html" title="router – Router" |
| 42 | accesskey="N">next</a> |</li> | 42 | accesskey="N">next</a> |</li> |
| 43 | <li class="right" > | 43 | <li class="right" > |
| 44 | <a href="index.html" title="Welcome to EventMQ’s documentation!" | 44 | <a href="jobmanager.html" title="jobmanager – Job Manager" |
| 45 | accesskey="P">previous</a> |</li> | 45 | accesskey="P">previous</a> |</li> |
| 46 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | 46 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> |
| 47 | </ul> | 47 | </ul> |
| @@ -52,12 +52,12 @@ | |||
| 52 | <div class="bodywrapper"> | 52 | <div class="bodywrapper"> |
| 53 | <div class="body" role="main"> | 53 | <div class="body" role="main"> |
| 54 | 54 | ||
| 55 | <span class="target" id="module-receiver"></span><div class="section" id="receiver-receiver"> | 55 | <span class="target" id="module-eventmq.receiver"></span><div class="section" id="receiver-receiver"> |
| 56 | <h1><a class="reference internal" href="#module-receiver" title="receiver"><code class="xref py py-mod docutils literal"><span class="pre">receiver</span></code></a> – Receiver<a class="headerlink" href="#receiver-receiver" title="Permalink to this headline">¶</a></h1> | 56 | <h1><code class="xref py py-mod docutils literal"><span class="pre">receiver</span></code> – Receiver<a class="headerlink" href="#receiver-receiver" title="Permalink to this headline">¶</a></h1> |
| 57 | <p>The receiver is responsible for receiveing messages</p> | 57 | <p>The receiver is responsible for receiveing messages</p> |
| 58 | <dl class="class"> | 58 | <dl class="class"> |
| 59 | <dt id="receiver.Receiver"> | 59 | <dt id="eventmq.receiver.Receiver"> |
| 60 | <em class="property">class </em><code class="descclassname">receiver.</code><code class="descname">Receiver</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#receiver.Receiver" title="Permalink to this definition">¶</a></dt> | 60 | <em class="property">class </em><code class="descclassname">eventmq.receiver.</code><code class="descname">Receiver</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver" title="Permalink to this definition">¶</a></dt> |
| 61 | <dd><p>Receives messages and pass them to a callable.</p> | 61 | <dd><p>Receives messages and pass them to a callable.</p> |
| 62 | <div class="admonition note"> | 62 | <div class="admonition note"> |
| 63 | <p class="first admonition-title">Note</p> | 63 | <p class="first admonition-title">Note</p> |
| @@ -65,27 +65,27 @@ | |||
| 65 | (<code class="xref py py-mod docutils literal"><span class="pre">zmq.eventloop</span></code>).</p> | 65 | (<code class="xref py py-mod docutils literal"><span class="pre">zmq.eventloop</span></code>).</p> |
| 66 | </div> | 66 | </div> |
| 67 | <dl class="attribute"> | 67 | <dl class="attribute"> |
| 68 | <dt id="receiver.Receiver.name"> | 68 | <dt id="eventmq.receiver.Receiver.name"> |
| 69 | <code class="descname">name</code><a class="headerlink" href="#receiver.Receiver.name" title="Permalink to this definition">¶</a></dt> | 69 | <code class="descname">name</code><a class="headerlink" href="#eventmq.receiver.Receiver.name" title="Permalink to this definition">¶</a></dt> |
| 70 | <dd><p><em>str</em> – Name of this socket</p> | 70 | <dd><p><em>str</em> – Name of this socket</p> |
| 71 | </dd></dl> | 71 | </dd></dl> |
| 72 | 72 | ||
| 73 | <dl class="attribute"> | 73 | <dl class="attribute"> |
| 74 | <dt id="receiver.Receiver.zcontext"> | 74 | <dt id="eventmq.receiver.Receiver.zcontext"> |
| 75 | <code class="descname">zcontext</code><a class="headerlink" href="#receiver.Receiver.zcontext" title="Permalink to this definition">¶</a></dt> | 75 | <code class="descname">zcontext</code><a class="headerlink" href="#eventmq.receiver.Receiver.zcontext" title="Permalink to this definition">¶</a></dt> |
| 76 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Context" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Context</span></code></a> – socket context</p> | 76 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Context" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Context</span></code></a> – socket context</p> |
| 77 | </dd></dl> | 77 | </dd></dl> |
| 78 | 78 | ||
| 79 | <dl class="attribute"> | 79 | <dl class="attribute"> |
| 80 | <dt id="receiver.Receiver.zsocket"> | 80 | <dt id="eventmq.receiver.Receiver.zsocket"> |
| 81 | <code class="descname">zsocket</code><a class="headerlink" href="#receiver.Receiver.zsocket" title="Permalink to this definition">¶</a></dt> | 81 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.receiver.Receiver.zsocket" title="Permalink to this definition">¶</a></dt> |
| 82 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a> – socket wrapped up in a | 82 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a> – socket wrapped up in a |
| 83 | <code class="xref py py-class docutils literal"><span class="pre">zmqstream.ZMQStream</span></code></p> | 83 | <code class="xref py py-class docutils literal"><span class="pre">zmqstream.ZMQStream</span></code></p> |
| 84 | </dd></dl> | 84 | </dd></dl> |
| 85 | 85 | ||
| 86 | <dl class="method"> | 86 | <dl class="method"> |
| 87 | <dt id="receiver.Receiver.__init__"> | 87 | <dt id="eventmq.receiver.Receiver.__init__"> |
| 88 | <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="#receiver.Receiver.__init__" title="Permalink to this definition">¶</a></dt> | 88 | <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.receiver.Receiver.__init__" title="Permalink to this definition">¶</a></dt> |
| 89 | <dd><div class="admonition note"> | 89 | <dd><div class="admonition note"> |
| 90 | <p class="first admonition-title">Note</p> | 90 | <p class="first admonition-title">Note</p> |
| 91 | <p class="last">All args are optional unless otherwise noted.</p> | 91 | <p class="last">All args are optional unless otherwise noted.</p> |
| @@ -116,14 +116,14 @@ socket. Callable is unused and optional when this is True</li> | |||
| 116 | </dd></dl> | 116 | </dd></dl> |
| 117 | 117 | ||
| 118 | <dl class="attribute"> | 118 | <dl class="attribute"> |
| 119 | <dt id="receiver.Receiver.__weakref__"> | 119 | <dt id="eventmq.receiver.Receiver.__weakref__"> |
| 120 | <code class="descname">__weakref__</code><a class="headerlink" href="#receiver.Receiver.__weakref__" title="Permalink to this definition">¶</a></dt> | 120 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.receiver.Receiver.__weakref__" title="Permalink to this definition">¶</a></dt> |
| 121 | <dd><p>list of weak references to the object (if defined)</p> | 121 | <dd><p>list of weak references to the object (if defined)</p> |
| 122 | </dd></dl> | 122 | </dd></dl> |
| 123 | 123 | ||
| 124 | <dl class="method"> | 124 | <dl class="method"> |
| 125 | <dt id="receiver.Receiver.connect"> | 125 | <dt id="eventmq.receiver.Receiver.connect"> |
| 126 | <code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#receiver.Receiver.connect" title="Permalink to this definition">¶</a></dt> | 126 | <code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver.connect" title="Permalink to this definition">¶</a></dt> |
| 127 | <dd><p>Connect to address defined by <cite>addr</cite></p> | 127 | <dd><p>Connect to address defined by <cite>addr</cite></p> |
| 128 | <table class="docutils field-list" frame="void" rules="none"> | 128 | <table class="docutils field-list" frame="void" rules="none"> |
| 129 | <col class="field-name" /> | 129 | <col class="field-name" /> |
| @@ -138,8 +138,8 @@ socket. Callable is unused and optional when this is True</li> | |||
| 138 | </dd></dl> | 138 | </dd></dl> |
| 139 | 139 | ||
| 140 | <dl class="method"> | 140 | <dl class="method"> |
| 141 | <dt id="receiver.Receiver.listen"> | 141 | <dt id="eventmq.receiver.Receiver.listen"> |
| 142 | <code class="descname">listen</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#receiver.Receiver.listen" title="Permalink to this definition">¶</a></dt> | 142 | <code class="descname">listen</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.receiver.Receiver.listen" title="Permalink to this definition">¶</a></dt> |
| 143 | <dd><p>start listening on <cite>addr</cite></p> | 143 | <dd><p>start listening on <cite>addr</cite></p> |
| 144 | <table class="docutils field-list" frame="void" rules="none"> | 144 | <table class="docutils field-list" frame="void" rules="none"> |
| 145 | <col class="field-name" /> | 145 | <col class="field-name" /> |
| @@ -154,8 +154,8 @@ socket. Callable is unused and optional when this is True</li> | |||
| 154 | </dd></dl> | 154 | </dd></dl> |
| 155 | 155 | ||
| 156 | <dl class="attribute"> | 156 | <dl class="attribute"> |
| 157 | <dt id="receiver.Receiver.ready"> | 157 | <dt id="eventmq.receiver.Receiver.ready"> |
| 158 | <code class="descname">ready</code><a class="headerlink" href="#receiver.Receiver.ready" title="Permalink to this definition">¶</a></dt> | 158 | <code class="descname">ready</code><a class="headerlink" href="#eventmq.receiver.Receiver.ready" title="Permalink to this definition">¶</a></dt> |
| 159 | <dd><p>Property used to check if this receiver is ready.</p> | 159 | <dd><p>Property used to check if this receiver is ready.</p> |
| 160 | <table class="docutils field-list" frame="void" rules="none"> | 160 | <table class="docutils field-list" frame="void" rules="none"> |
| 161 | <col class="field-name" /> | 161 | <col class="field-name" /> |
| @@ -181,8 +181,8 @@ False</td> | |||
| 181 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | 181 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
| 182 | <div class="sphinxsidebarwrapper"> | 182 | <div class="sphinxsidebarwrapper"> |
| 183 | <h4>Previous topic</h4> | 183 | <h4>Previous topic</h4> |
| 184 | <p class="topless"><a href="index.html" | 184 | <p class="topless"><a href="jobmanager.html" |
| 185 | title="previous chapter">Welcome to EventMQ’s documentation!</a></p> | 185 | title="previous chapter"><code class="docutils literal"><span class="pre">jobmanager</span></code> – Job Manager</a></p> |
| 186 | <h4>Next topic</h4> | 186 | <h4>Next topic</h4> |
| 187 | <p class="topless"><a href="router.html" | 187 | <p class="topless"><a href="router.html" |
| 188 | title="next chapter"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></p> | 188 | title="next chapter"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></p> |
| @@ -223,7 +223,7 @@ False</td> | |||
| 223 | <a href="router.html" title="router – Router" | 223 | <a href="router.html" title="router – Router" |
| 224 | >next</a> |</li> | 224 | >next</a> |</li> |
| 225 | <li class="right" > | 225 | <li class="right" > |
| 226 | <a href="index.html" title="Welcome to EventMQ’s documentation!" | 226 | <a href="jobmanager.html" title="jobmanager – Job Manager" |
| 227 | >previous</a> |</li> | 227 | >previous</a> |</li> |
| 228 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | 228 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> |
| 229 | </ul> | 229 | </ul> |
diff --git a/router.html b/router.html index f43d98e..c5e13c8 100644 --- a/router.html +++ b/router.html | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | <script type="text/javascript" src="_static/underscore.js"></script> | 24 | <script type="text/javascript" src="_static/underscore.js"></script> |
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | 25 | <script type="text/javascript" src="_static/doctools.js"></script> |
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> |
| 27 | <link rel="next" title="sender – Sender" href="sender.html" /> | ||
| 27 | <link rel="prev" title="receiver – Receiver" href="receiver.html" /> | 28 | <link rel="prev" title="receiver – Receiver" href="receiver.html" /> |
| 28 | </head> | 29 | </head> |
| 29 | <body role="document"> | 30 | <body role="document"> |
| @@ -37,6 +38,9 @@ | |||
| 37 | <a href="py-modindex.html" title="Python Module Index" | 38 | <a href="py-modindex.html" title="Python Module Index" |
| 38 | >modules</a> |</li> | 39 | >modules</a> |</li> |
| 39 | <li class="right" > | 40 | <li class="right" > |
| 41 | <a href="sender.html" title="sender – Sender" | ||
| 42 | accesskey="N">next</a> |</li> | ||
| 43 | <li class="right" > | ||
| 40 | <a href="receiver.html" title="receiver – Receiver" | 44 | <a href="receiver.html" title="receiver – Receiver" |
| 41 | accesskey="P">previous</a> |</li> | 45 | accesskey="P">previous</a> |</li> |
| 42 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | 46 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> |
| @@ -48,16 +52,23 @@ | |||
| 48 | <div class="bodywrapper"> | 52 | <div class="bodywrapper"> |
| 49 | <div class="body" role="main"> | 53 | <div class="body" role="main"> |
| 50 | 54 | ||
| 51 | <span class="target" id="module-router"></span><div class="section" id="router-router"> | 55 | <span class="target" id="module-eventmq.router"></span><div class="section" id="router-router"> |
| 52 | <h1><a class="reference internal" href="#module-router" title="router"><code class="xref py py-mod docutils literal"><span class="pre">router</span></code></a> – Router<a class="headerlink" href="#router-router" title="Permalink to this headline">¶</a></h1> | 56 | <h1><code class="xref py py-mod docutils literal"><span class="pre">router</span></code> – Router<a class="headerlink" href="#router-router" title="Permalink to this headline">¶</a></h1> |
| 53 | <p>Routes messages to workers (that are in named queues).</p> | 57 | <p>Routes messages to workers (that are in named queues).</p> |
| 54 | <dl class="class"> | 58 | <dl class="class"> |
| 55 | <dt id="router.Router"> | 59 | <dt id="eventmq.router.Router"> |
| 56 | <em class="property">class </em><code class="descclassname">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="#router.Router" title="Permalink to this definition">¶</a></dt> | 60 | <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> |
| 57 | <dd><p>A simple router of messages</p> | 61 | <dd><p>A simple router of messages</p> |
| 62 | <p>This router uses tornado’s eventloop.</p> | ||
| 63 | <dl class="attribute"> | ||
| 64 | <dt id="eventmq.router.Router.__weakref__"> | ||
| 65 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.router.Router.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 66 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 67 | </dd></dl> | ||
| 68 | |||
| 58 | <dl class="method"> | 69 | <dl class="method"> |
| 59 | <dt id="router.Router.start"> | 70 | <dt id="eventmq.router.Router.start"> |
| 60 | <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="#router.Router.start" title="Permalink to this definition">¶</a></dt> | 71 | <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> |
| 61 | <dd><p>Begin listening for connections on the provided connection strings</p> | 72 | <dd><p>Begin listening for connections on the provided connection strings</p> |
| 62 | <table class="docutils field-list" frame="void" rules="none"> | 73 | <table class="docutils field-list" frame="void" rules="none"> |
| 63 | <col class="field-name" /> | 74 | <col class="field-name" /> |
| @@ -86,6 +97,9 @@ | |||
| 86 | <h4>Previous topic</h4> | 97 | <h4>Previous topic</h4> |
| 87 | <p class="topless"><a href="receiver.html" | 98 | <p class="topless"><a href="receiver.html" |
| 88 | title="previous chapter"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></p> | 99 | title="previous chapter"><code class="docutils literal"><span class="pre">receiver</span></code> – Receiver</a></p> |
| 100 | <h4>Next topic</h4> | ||
| 101 | <p class="topless"><a href="sender.html" | ||
| 102 | title="next chapter"><code class="docutils literal"><span class="pre">sender</span></code> – Sender</a></p> | ||
| 89 | <div role="note" aria-label="source link"> | 103 | <div role="note" aria-label="source link"> |
| 90 | <h3>This Page</h3> | 104 | <h3>This Page</h3> |
| 91 | <ul class="this-page-menu"> | 105 | <ul class="this-page-menu"> |
| @@ -120,6 +134,9 @@ | |||
| 120 | <a href="py-modindex.html" title="Python Module Index" | 134 | <a href="py-modindex.html" title="Python Module Index" |
| 121 | >modules</a> |</li> | 135 | >modules</a> |</li> |
| 122 | <li class="right" > | 136 | <li class="right" > |
| 137 | <a href="sender.html" title="sender – Sender" | ||
| 138 | >next</a> |</li> | ||
| 139 | <li class="right" > | ||
| 123 | <a href="receiver.html" title="receiver – Receiver" | 140 | <a href="receiver.html" title="receiver – Receiver" |
| 124 | >previous</a> |</li> | 141 | >previous</a> |</li> |
| 125 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | 142 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> |
diff --git a/searchindex.js b/searchindex.js index b94af95..158c34c 100644 --- a/searchindex.js +++ b/searchindex.js | |||
| @@ -1 +1 @@ | |||
| Search.setIndex({envversion:46,filenames:["index","receiver","router"],objects:{"":{receiver:[1,0,0,"-"],router:[2,0,0,"-"]},"receiver.Receiver":{"__init__":[1,3,1,""],"__weakref__":[1,2,1,""],connect:[1,3,1,""],listen:[1,3,1,""],name:[1,2,1,""],ready:[1,2,1,""],zcontext:[1,2,1,""],zsocket:[1,2,1,""]},"router.Router":{start:[2,3,1,""]},receiver:{Receiver:[1,1,1,""]},router:{Router:[2,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method"},terms:{"__init__":1,"__weakref__":1,"class":[1,2],"default":1,"function":1,"return":1,"true":1,addr:1,address:1,all:1,arg:[1,2],avail:1,backend_addr:2,begin:2,bool:1,bulid:1,call:1,callabl:1,check:1,connction:1,connect:[1,2],content:0,context:1,creat:1,current:1,defin:1,eventloop:1,except:1,fals:1,frontend_addr:2,gener:1,index:0,kwarg:[1,2],list:1,listen:[1,2],messag:[1,2],method:1,modul:0,name:[1,2],none:1,note:1,object:1,onli:1,option:1,otherwis:1,page:0,paramet:[1,2],pass:1,poll:1,properti:1,provid:2,queue:2,rais:1,readi:1,receiv:0,reciev:1,refer:1,rep:1,request:2,requir:1,respons:1,rout:2,router:[0,1],search:0,set:1,should:1,simpl:2,skip:1,skip_zmqstream:1,socket:1,start:[1,2],str:1,string:[1,2],tcp:2,them:1,thi:1,type:1,typeerror:1,unless:1,unus:1,uuid:1,via:1,weak:1,when:1,worker:2,wrap:1,zcontext:1,zmq:1,zmqstream:1,zsocket:1},titles:["Welcome to EventMQ’s documentation!","<code class=\"docutils literal\"><span class=\"pre\">receiver</span></code> – Receiver","<code class=\"docutils literal\"><span class=\"pre\">router</span></code> – Router"],titleterms:{document:0,eventmq:0,indic:0,receiv:1,router:2,tabl:0,welcom:0}}) \ No newline at end of file | Search.setIndex({envversion:46,filenames:["index","jobmanager","protocol","receiver","router","sender"],objects:{"eventmq.jobmanager":{JobManager:[1,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[1,2,1,""],"__weakref__":[1,1,1,""]},"eventmq.receiver":{Receiver:[3,3,1,""]},"eventmq.receiver.Receiver":{"__init__":[3,2,1,""],"__weakref__":[3,1,1,""],connect:[3,2,1,""],listen:[3,2,1,""],name:[3,1,1,""],ready:[3,1,1,""],zcontext:[3,1,1,""],zsocket:[3,1,1,""]},"eventmq.router":{Router:[4,3,1,""]},"eventmq.router.Router":{"__weakref__":[4,1,1,""],start:[4,2,1,""]},"eventmq.sender":{Sender:[5,3,1,""]},"eventmq.sender.Sender":{"__init__":[5,2,1,""],"__weakref__":[5,1,1,""],connect:[5,2,1,""],listen:[5,2,1,""],name:[5,1,1,""],ready:[5,1,1,""],send:[5,2,1,""],send_raw:[5,2,1,""],zsocket:[5,1,1,""]},eventmq:{jobmanager:[1,0,0,"-"],receiver:[3,0,0,"-"],router:[4,0,0,"-"],sender:[5,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","class","Python class"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:class"},terms:{"0mq":[2,5],"__init__":[1,3,5],"__weakref__":[1,3,4,5],"_empty_":2,"_headers_":2,"_msg_":2,"_msgid_":2,"_queue_name_":2,"abstract":2,"case":2,"class":[1,3,4,5],"default":[1,3,5],"function":3,"public":2,"return":[3,5],"true":[3,5],about:1,accept:2,addr:[3,5],address:[3,5],all:[1,2,3,5],allow:2,alpha:2,ani:2,api:2,applic:2,architectur:[],arg:[1,3,4,5],avail:[3,5],backend_addr:4,basi:2,befor:2,begin:4,belong:2,below:2,between:2,bool:[3,5],both:2,broker:2,build:5,built:2,bulid:3,call:3,callabl:3,can:2,chang:2,check:[3,5],client:[],command:2,compon:2,connction:[3,5],connect:[2,3,4,5],consist:2,contain:2,content:0,context:[3,5],creat:[3,5],current:[3,5],dealer:5,debug:2,defin:[1,2,3,4,5],deliv:2,describ:2,descript:2,detail:2,detect:2,determin:2,dialog:2,dictionari:2,directli:5,disconnect:2,distribut:2,either:2,empti:2,emqp:[],ensur:1,even:2,eventloop:[1,3,4,5],except:[3,5],execut:2,expos:1,extra:2,fair:2,fals:[3,5],first:2,fit:2,follow:2,format:2,foundat:2,frame:2,free:2,from:2,frontend_addr:4,gener:[1,2,3,5],gnu:2,goal:[],handl:2,header:2,heartbeat:2,heavi:2,here:2,hope:2,html:2,http:2,ident:2,ietf:2,implement:2,impli:2,includ:2,index:0,inform:2,insert:2,instanc:1,interpret:2,issu:2,job:[],jobmanag:[],kei:2,kwarg:[1,3,4,5],languag:[],later:2,least:2,leav:2,licens:[],list:[1,3,4,5],listen:[3,4,5],mai:2,main:1,manag:[],manual:2,master:2,merchant:2,messag:[2,3,4,5],method:3,modifi:2,modul:0,more:2,msg:2,multipart:2,must:2,name:[1,2,3,4,5],none:[3,5],note:[1,3,5],object:[1,3,4,5],onli:[3,5],option:[1,2,3,5],org:2,orient:2,origin:2,otherwis:[1,3,5],page:0,paramet:[1,3,4,5],part:2,particular:[2,5],pass:[2,3],peer:2,pictur:2,poll:[3,5],pool:2,portion:1,prepend:2,pretti:2,process:2,properti:[3,5],protocol:0,provid:4,pub:2,publish:2,purpos:2,queue:[2,4,5],rais:[3,5],raw:5,raw_messag:5,readi:[2,3,5],receiv:[],recent:2,reciev:3,recommend:2,redistribut:2,refer:[1,3,4,5],reliabl:2,remov:2,rep:3,repli:2,req:5,request:[2,4],requir:[2,3],resourc:[1,2],respond:2,respons:[1,3,5],rfc2119:2,rfc:2,robin:2,round:2,rout:[2,4],router:[],run:1,search:0,see:2,send:[2,5],send_raw:5,sender:[],seper:2,serv:2,server:[1,2],servic:2,set:[2,3,5],shall:2,should:[2,3,5],shown:2,simpl:4,singl:2,skip:[3,5],skip_zmqstream:[3,5],socket:[2,3,5],softwar:2,someth:5,spawn:1,specif:0,specifi:2,start:[3,4,5],statu:2,str:[1,3,5],string:[3,4,5],sub:2,subject:2,subset:2,tcp:4,term:2,them:3,thi:[1,2,3,4,5],thing:1,through:2,tool:2,topic:5,topolog:[],tornado:[1,4],trace:2,tupl:5,type:[3,5],typeerror:3,under:2,uniqu:[1,2],unless:[1,3,5],unus:3,uuid:[1,3,5],valu:2,version:2,via:[3,5],warranti:2,weak:[1,3,4,5],web:2,well:2,when:[2,3,5],where:2,without:2,word:2,worker:[1,4],wrap:[3,5],you:2,your:2,zcontext:[3,5],zeromq:2,zmq:[2,3,5],zmqstream:[3,5],zsocket:[3,5]},titles:["Welcome to EventMQ’s documentation!","<code class=\"docutils literal\"><span class=\"pre\">jobmanager</span></code> – Job Manager","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"],titleterms:{address:2,architectur:2,client:2,document:0,emqp:2,eventmq:[0,2],goal:2,indic:0,job:1,jobmanag:1,languag:2,licens:2,manag:1,protocol:2,receiv:3,router:[2,4],sender:5,specif:2,tabl:0,topolog:2,welcom:0,worker:2}}) \ No newline at end of file | ||
diff --git a/sender.html b/sender.html new file mode 100644 index 0000000..57f5345 --- /dev/null +++ b/sender.html | |||
| @@ -0,0 +1,253 @@ | |||
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
| 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
| 3 | |||
| 4 | |||
| 5 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
| 6 | <head> | ||
| 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 8 | |||
| 9 | <title>sender – Sender — EventMQ 0 documentation</title> | ||
| 10 | |||
| 11 | <link rel="stylesheet" href="_static/classic.css" type="text/css" /> | ||
| 12 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | ||
| 13 | |||
| 14 | <script type="text/javascript"> | ||
| 15 | var DOCUMENTATION_OPTIONS = { | ||
| 16 | URL_ROOT: './', | ||
| 17 | VERSION: '0', | ||
| 18 | COLLAPSE_INDEX: false, | ||
| 19 | FILE_SUFFIX: '.html', | ||
| 20 | HAS_SOURCE: true | ||
| 21 | }; | ||
| 22 | </script> | ||
| 23 | <script type="text/javascript" src="_static/jquery.js"></script> | ||
| 24 | <script type="text/javascript" src="_static/underscore.js"></script> | ||
| 25 | <script type="text/javascript" src="_static/doctools.js"></script> | ||
| 26 | <link rel="top" title="EventMQ 0 documentation" href="index.html" /> | ||
| 27 | <link rel="prev" title="router – Router" href="router.html" /> | ||
| 28 | </head> | ||
| 29 | <body role="document"> | ||
| 30 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 31 | <h3>Navigation</h3> | ||
| 32 | <ul> | ||
| 33 | <li class="right" style="margin-right: 10px"> | ||
| 34 | <a href="genindex.html" title="General Index" | ||
| 35 | accesskey="I">index</a></li> | ||
| 36 | <li class="right" > | ||
| 37 | <a href="py-modindex.html" title="Python Module Index" | ||
| 38 | >modules</a> |</li> | ||
| 39 | <li class="right" > | ||
| 40 | <a href="router.html" title="router – Router" | ||
| 41 | accesskey="P">previous</a> |</li> | ||
| 42 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 43 | </ul> | ||
| 44 | </div> | ||
| 45 | |||
| 46 | <div class="document"> | ||
| 47 | <div class="documentwrapper"> | ||
| 48 | <div class="bodywrapper"> | ||
| 49 | <div class="body" role="main"> | ||
| 50 | |||
| 51 | <span class="target" id="module-eventmq.sender"></span><div class="section" id="sender-sender"> | ||
| 52 | <h1><code class="xref py py-mod docutils literal"><span class="pre">sender</span></code> – Sender<a class="headerlink" href="#sender-sender" title="Permalink to this headline">¶</a></h1> | ||
| 53 | <p>The sender is responsible for sending messages</p> | ||
| 54 | <dl class="class"> | ||
| 55 | <dt id="eventmq.sender.Sender"> | ||
| 56 | <em class="property">class </em><code class="descclassname">eventmq.sender.</code><code class="descname">Sender</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender" title="Permalink to this definition">¶</a></dt> | ||
| 57 | <dd><p>Sends messages to a particular socket</p> | ||
| 58 | <div class="admonition note"> | ||
| 59 | <p class="first admonition-title">Note</p> | ||
| 60 | <p class="last">Polling with this sender is currently only available via an eventloop | ||
| 61 | (<code class="xref py py-mod docutils literal"><span class="pre">zmq.eventloop</span></code>)</p> | ||
| 62 | </div> | ||
| 63 | <dl class="attribute"> | ||
| 64 | <dt id="eventmq.sender.Sender.name"> | ||
| 65 | <code class="descname">name</code><a class="headerlink" href="#eventmq.sender.Sender.name" title="Permalink to this definition">¶</a></dt> | ||
| 66 | <dd><p><em>str</em> – Name of this socket</p> | ||
| 67 | </dd></dl> | ||
| 68 | |||
| 69 | <dl class="attribute"> | ||
| 70 | <dt> | ||
| 71 | <code class="descname">zcontext (</code></dt> | ||
| 72 | <dd><p>class`zmq.Context`): socket context</p> | ||
| 73 | </dd></dl> | ||
| 74 | |||
| 75 | <dl class="attribute"> | ||
| 76 | <dt id="eventmq.sender.Sender.zsocket"> | ||
| 77 | <code class="descname">zsocket</code><a class="headerlink" href="#eventmq.sender.Sender.zsocket" title="Permalink to this definition">¶</a></dt> | ||
| 78 | <dd><p><a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a> – socket wrapped up in a | ||
| 79 | <code class="xref py py-class docutils literal"><span class="pre">zmqstream.ZMQStream</span></code></p> | ||
| 80 | </dd></dl> | ||
| 81 | |||
| 82 | <dl class="method"> | ||
| 83 | <dt id="eventmq.sender.Sender.__init__"> | ||
| 84 | <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.sender.Sender.__init__" title="Permalink to this definition">¶</a></dt> | ||
| 85 | <dd><div class="admonition note"> | ||
| 86 | <p class="first admonition-title">Note</p> | ||
| 87 | <p class="last">All args are optional unless otherwise noted.</p> | ||
| 88 | </div> | ||
| 89 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 90 | <col class="field-name" /> | ||
| 91 | <col class="field-body" /> | ||
| 92 | <tbody valign="top"> | ||
| 93 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 94 | <li><strong>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 this socket. By default a uuid will be | ||
| 95 | generated</li> | ||
| 96 | <li><strong>context</strong> (<a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Context" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Context</span></code></a>) – Context to use when building the | ||
| 97 | socket</li> | ||
| 98 | <li><strong>socket</strong> (<a class="reference external" href="http://pyzmq.readthedocs.org/en/v15.0.0/api/zmq.html#zmq.Socket" title="(in PyZMQ v15.0.0)"><code class="xref py py-class docutils literal"><span class="pre">zmq.Socket</span></code></a>) – Should be one of <code class="xref py py-attr docutils literal"><span class="pre">zmq.REQ</span></code> or | ||
| 99 | <code class="xref py py-attr docutils literal"><span class="pre">zmq.DEALER</span></code>. By default a <cite>DEALER</cite> is used</li> | ||
| 100 | <li><strong>skip_zmqstream</strong> (<a class="reference external" href="https://docs.python.org/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – If set to true, skip creating the zmqstream | ||
| 101 | socket</li> | ||
| 102 | </ul> | ||
| 103 | </td> | ||
| 104 | </tr> | ||
| 105 | </tbody> | ||
| 106 | </table> | ||
| 107 | </dd></dl> | ||
| 108 | |||
| 109 | <dl class="attribute"> | ||
| 110 | <dt id="eventmq.sender.Sender.__weakref__"> | ||
| 111 | <code class="descname">__weakref__</code><a class="headerlink" href="#eventmq.sender.Sender.__weakref__" title="Permalink to this definition">¶</a></dt> | ||
| 112 | <dd><p>list of weak references to the object (if defined)</p> | ||
| 113 | </dd></dl> | ||
| 114 | |||
| 115 | <dl class="method"> | ||
| 116 | <dt id="eventmq.sender.Sender.connect"> | ||
| 117 | <code class="descname">connect</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.connect" title="Permalink to this definition">¶</a></dt> | ||
| 118 | <dd><p>Connect to address defined by <cite>addr</cite></p> | ||
| 119 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 120 | <col class="field-name" /> | ||
| 121 | <col class="field-body" /> | ||
| 122 | <tbody valign="top"> | ||
| 123 | <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>) – Address to connect to as a connection string</td> | ||
| 124 | </tr> | ||
| 125 | <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">Exception</span></code></td> | ||
| 126 | </tr> | ||
| 127 | </tbody> | ||
| 128 | </table> | ||
| 129 | </dd></dl> | ||
| 130 | |||
| 131 | <dl class="method"> | ||
| 132 | <dt id="eventmq.sender.Sender.listen"> | ||
| 133 | <code class="descname">listen</code><span class="sig-paren">(</span><em>addr=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.listen" title="Permalink to this definition">¶</a></dt> | ||
| 134 | <dd><p>start listening on <cite>addr</cite></p> | ||
| 135 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 136 | <col class="field-name" /> | ||
| 137 | <col class="field-body" /> | ||
| 138 | <tbody valign="top"> | ||
| 139 | <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>) – Address to listen on as a connction string</td> | ||
| 140 | </tr> | ||
| 141 | <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">Exception</span></code></td> | ||
| 142 | </tr> | ||
| 143 | </tbody> | ||
| 144 | </table> | ||
| 145 | </dd></dl> | ||
| 146 | |||
| 147 | <dl class="attribute"> | ||
| 148 | <dt id="eventmq.sender.Sender.ready"> | ||
| 149 | <code class="descname">ready</code><a class="headerlink" href="#eventmq.sender.Sender.ready" title="Permalink to this definition">¶</a></dt> | ||
| 150 | <dd><p>Property used to check if this receiver is ready.</p> | ||
| 151 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 152 | <col class="field-name" /> | ||
| 153 | <col class="field-body" /> | ||
| 154 | <tbody valign="top"> | ||
| 155 | <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True if the receiver is ready to connect or listen, otherwise | ||
| 156 | False</td> | ||
| 157 | </tr> | ||
| 158 | <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> | ||
| 159 | </tr> | ||
| 160 | </tbody> | ||
| 161 | </table> | ||
| 162 | </dd></dl> | ||
| 163 | |||
| 164 | <dl class="method"> | ||
| 165 | <dt id="eventmq.sender.Sender.send"> | ||
| 166 | <code class="descname">send</code><span class="sig-paren">(</span><em>message</em>, <em>queue=None</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.send" title="Permalink to this definition">¶</a></dt> | ||
| 167 | <dd><p>Sends a message</p> | ||
| 168 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 169 | <col class="field-name" /> | ||
| 170 | <col class="field-body" /> | ||
| 171 | <tbody valign="top"> | ||
| 172 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||
| 173 | <li><strong>message</strong> – message to send to something</li> | ||
| 174 | <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>) – queue topic</li> | ||
| 175 | </ul> | ||
| 176 | </td> | ||
| 177 | </tr> | ||
| 178 | </tbody> | ||
| 179 | </table> | ||
| 180 | </dd></dl> | ||
| 181 | |||
| 182 | <dl class="method"> | ||
| 183 | <dt id="eventmq.sender.Sender.send_raw"> | ||
| 184 | <code class="descname">send_raw</code><span class="sig-paren">(</span><em>raw_message</em><span class="sig-paren">)</span><a class="headerlink" href="#eventmq.sender.Sender.send_raw" title="Permalink to this definition">¶</a></dt> | ||
| 185 | <dd><p>Send a message directly to the 0mq socket</p> | ||
| 186 | <table class="docutils field-list" frame="void" rules="none"> | ||
| 187 | <col class="field-name" /> | ||
| 188 | <col class="field-body" /> | ||
| 189 | <tbody valign="top"> | ||
| 190 | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>raw_message</strong> (<em>tuple, list</em>) – Raw message to send.</td> | ||
| 191 | </tr> | ||
| 192 | </tbody> | ||
| 193 | </table> | ||
| 194 | </dd></dl> | ||
| 195 | |||
| 196 | </dd></dl> | ||
| 197 | |||
| 198 | </div> | ||
| 199 | |||
| 200 | |||
| 201 | </div> | ||
| 202 | </div> | ||
| 203 | </div> | ||
| 204 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> | ||
| 205 | <div class="sphinxsidebarwrapper"> | ||
| 206 | <h4>Previous topic</h4> | ||
| 207 | <p class="topless"><a href="router.html" | ||
| 208 | title="previous chapter"><code class="docutils literal"><span class="pre">router</span></code> – Router</a></p> | ||
| 209 | <div role="note" aria-label="source link"> | ||
| 210 | <h3>This Page</h3> | ||
| 211 | <ul class="this-page-menu"> | ||
| 212 | <li><a href="_sources/sender.txt" | ||
| 213 | rel="nofollow">Show Source</a></li> | ||
| 214 | </ul> | ||
| 215 | </div> | ||
| 216 | <div id="searchbox" style="display: none" role="search"> | ||
| 217 | <h3>Quick search</h3> | ||
| 218 | <form class="search" action="search.html" method="get"> | ||
| 219 | <input type="text" name="q" /> | ||
| 220 | <input type="submit" value="Go" /> | ||
| 221 | <input type="hidden" name="check_keywords" value="yes" /> | ||
| 222 | <input type="hidden" name="area" value="default" /> | ||
| 223 | </form> | ||
| 224 | <p class="searchtip" style="font-size: 90%"> | ||
| 225 | Enter search terms or a module, class or function name. | ||
| 226 | </p> | ||
| 227 | </div> | ||
| 228 | <script type="text/javascript">$('#searchbox').show(0);</script> | ||
| 229 | </div> | ||
| 230 | </div> | ||
| 231 | <div class="clearer"></div> | ||
| 232 | </div> | ||
| 233 | <div class="related" role="navigation" aria-label="related navigation"> | ||
| 234 | <h3>Navigation</h3> | ||
| 235 | <ul> | ||
| 236 | <li class="right" style="margin-right: 10px"> | ||
| 237 | <a href="genindex.html" title="General Index" | ||
| 238 | >index</a></li> | ||
| 239 | <li class="right" > | ||
| 240 | <a href="py-modindex.html" title="Python Module Index" | ||
| 241 | >modules</a> |</li> | ||
| 242 | <li class="right" > | ||
| 243 | <a href="router.html" title="router – Router" | ||
| 244 | >previous</a> |</li> | ||
| 245 | <li class="nav-item nav-item-0"><a href="index.html">EventMQ 0 documentation</a> »</li> | ||
| 246 | </ul> | ||
| 247 | </div> | ||
| 248 | <div class="footer" role="contentinfo"> | ||
| 249 | © Copyright 2015, eventboard.io. | ||
| 250 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1. | ||
| 251 | </div> | ||
| 252 | </body> | ||
| 253 | </html> \ No newline at end of file | ||