diff options
| author | jason | 2018-07-17 14:06:18 -0600 |
|---|---|---|
| committer | jason | 2018-07-17 14:26:41 -0600 |
| commit | f47740320e3c263c33c0e28477bf88ebc7909694 (patch) | |
| tree | e051b7df51d7f19417e0b6c2c75d9d10aefb5ff3 | |
| parent | 5877caf15b55fb5358ec911faadf0d27553e4f7c (diff) | |
| download | eventmq-f47740320e3c263c33c0e28477bf88ebc7909694.tar.gz eventmq-f47740320e3c263c33c0e28477bf88ebc7909694.zip | |
Add an option to define max sockets per context
| -rw-r--r-- | docs/settings_file.rst | 6 | ||||
| -rw-r--r-- | eventmq/__init__.py | 2 | ||||
| -rw-r--r-- | eventmq/conf.py | 3 | ||||
| -rw-r--r-- | eventmq/receiver.py | 7 | ||||
| -rw-r--r-- | eventmq/sender.py | 6 | ||||
| -rw-r--r-- | setup.py | 2 |
6 files changed, 22 insertions, 4 deletions
diff --git a/docs/settings_file.rst b/docs/settings_file.rst index c758a16..d09f124 100644 --- a/docs/settings_file.rst +++ b/docs/settings_file.rst | |||
| @@ -13,6 +13,12 @@ Default: False | |||
| 13 | 13 | ||
| 14 | Enable most verbose level of debug statements | 14 | Enable most verbose level of debug statements |
| 15 | 15 | ||
| 16 | max_sockets | ||
| 17 | =========== | ||
| 18 | Default: 1024 | ||
| 19 | |||
| 20 | Define the max sockets for a process/context | ||
| 21 | |||
| 16 | ****** | 22 | ****** |
| 17 | Router | 23 | Router |
| 18 | ****** | 24 | ****** |
diff --git a/eventmq/__init__.py b/eventmq/__init__.py index 2e180ed..c3ffd05 100644 --- a/eventmq/__init__.py +++ b/eventmq/__init__.py | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | __author__ = 'EventMQ Contributors' | 1 | __author__ = 'EventMQ Contributors' |
| 2 | __version__ = '0.3.6' | 2 | __version__ = '0.3.7' |
| 3 | 3 | ||
| 4 | PROTOCOL_VERSION = 'eMQP/1.0' | 4 | PROTOCOL_VERSION = 'eMQP/1.0' |
| 5 | 5 | ||
diff --git a/eventmq/conf.py b/eventmq/conf.py index 715bbb2..87aa675 100644 --- a/eventmq/conf.py +++ b/eventmq/conf.py | |||
| @@ -26,6 +26,9 @@ SUPER_DEBUG = False | |||
| 26 | #: Default: True | 26 | #: Default: True |
| 27 | HIDE_HEARTBEAT_LOGS = True | 27 | HIDE_HEARTBEAT_LOGS = True |
| 28 | 28 | ||
| 29 | #: The maximum number of sockets to open per-process/context | ||
| 30 | MAX_SOCKETS = 1024 | ||
| 31 | |||
| 29 | # When a queue name isn't specified use this queue name for the default. It | 32 | # When a queue name isn't specified use this queue name for the default. It |
| 30 | # would be a good idea to have a handful of workers listening on this queue | 33 | # would be a good idea to have a handful of workers listening on this queue |
| 31 | # unless you're positive that everything specifies a queue with workers. | 34 | # unless you're positive that everything specifies a queue with workers. |
diff --git a/eventmq/receiver.py b/eventmq/receiver.py index 4450e2e..dc0ead8 100644 --- a/eventmq/receiver.py +++ b/eventmq/receiver.py | |||
| @@ -21,7 +21,7 @@ import logging | |||
| 21 | 21 | ||
| 22 | import zmq | 22 | import zmq |
| 23 | 23 | ||
| 24 | from . import constants | 24 | from . import conf, constants |
| 25 | from .utils.classes import ZMQReceiveMixin, ZMQSendMixin | 25 | from .utils.classes import ZMQReceiveMixin, ZMQSendMixin |
| 26 | from .utils.devices import generate_device_name | 26 | from .utils.devices import generate_device_name |
| 27 | 27 | ||
| @@ -53,7 +53,12 @@ class Receiver(ZMQReceiveMixin, ZMQSendMixin): | |||
| 53 | Raises: | 53 | Raises: |
| 54 | :class:`TypeError`: when `callable` is not callable | 54 | :class:`TypeError`: when `callable` is not callable |
| 55 | """ | 55 | """ |
| 56 | from .utils import settings | ||
| 57 | settings.import_settings() | ||
| 58 | |||
| 56 | self.zcontext = kwargs.get('context', zmq.Context.instance()) | 59 | self.zcontext = kwargs.get('context', zmq.Context.instance()) |
| 60 | self.zcontext.set(zmq.MAX_SOCKETS, conf.MAX_SOCKETS) | ||
| 61 | |||
| 57 | self.name = kwargs.get('name', generate_device_name()) | 62 | self.name = kwargs.get('name', generate_device_name()) |
| 58 | 63 | ||
| 59 | self.zsocket = kwargs.get('socket', self.zcontext.socket(zmq.ROUTER)) | 64 | self.zsocket = kwargs.get('socket', self.zcontext.socket(zmq.ROUTER)) |
diff --git a/eventmq/sender.py b/eventmq/sender.py index 12dec05..4a2ad7e 100644 --- a/eventmq/sender.py +++ b/eventmq/sender.py | |||
| @@ -23,7 +23,7 @@ import uuid | |||
| 23 | 23 | ||
| 24 | import zmq | 24 | import zmq |
| 25 | 25 | ||
| 26 | from . import constants, exceptions | 26 | from . import conf, constants, exceptions |
| 27 | from .utils.classes import ZMQReceiveMixin, ZMQSendMixin | 27 | from .utils.classes import ZMQReceiveMixin, ZMQSendMixin |
| 28 | 28 | ||
| 29 | logger = logging.getLogger(__name__) | 29 | logger = logging.getLogger(__name__) |
| @@ -55,7 +55,11 @@ class Sender(ZMQSendMixin, ZMQReceiveMixin): | |||
| 55 | socket | 55 | socket |
| 56 | 56 | ||
| 57 | """ | 57 | """ |
| 58 | from .utils import settings | ||
| 59 | settings.import_settings() | ||
| 60 | |||
| 58 | self.zcontext = kwargs.pop('context', zmq.Context.instance()) | 61 | self.zcontext = kwargs.pop('context', zmq.Context.instance()) |
| 62 | self.zcontext.set(zmq.MAX_SOCKETS, conf.MAX_SOCKETS) | ||
| 59 | 63 | ||
| 60 | # Set zsocket to none so we can check if it exists and close it before | 64 | # Set zsocket to none so we can check if it exists and close it before |
| 61 | # rebuilding it later. | 65 | # rebuilding it later. |
| @@ -7,7 +7,7 @@ from setuptools import find_packages, setup | |||
| 7 | 7 | ||
| 8 | setup( | 8 | setup( |
| 9 | name='eventmq', | 9 | name='eventmq', |
| 10 | version='0.3.6', | 10 | version='0.3.7', |
| 11 | description='EventMQ job execution and messaging system based on ZeroMQ', | 11 | description='EventMQ job execution and messaging system based on ZeroMQ', |
| 12 | packages=find_packages(), | 12 | packages=find_packages(), |
| 13 | install_requires=['pyzmq==15.4.0', | 13 | install_requires=['pyzmq==15.4.0', |