Skip to content

Releases: and3rson/django-nameko

Release v0.8

22 Dec 12:49
Compare
Choose a tag to compare
  • Add a new feature in heartbeat_check thread to cleanup replies that remain for longer than timeout duration, it would take from 10-20 loop cycle to clear these remaining message in replies that no handler pick up. This will reduce memory consumption of long running process that use async rpc call
  • Speed up the graceful shutdown progress when heartbeat is enabled.

Version 0.7.0

05 Dec 11:21
9a190eb
Compare
Choose a tag to compare
  • Add new feature to dispatch event right from django-nameko
  • Support RBMQ Heart Beat feature
  • Fix bugs

Version 0.5.3

12 Apr 11:00
82e4e37
Compare
Choose a tag to compare

+Rename global variable pool to nameko_global_pools to avoid conflict
+Add a behaviour of resetting context_data to original pool.context_data once RpcClusterProxy exit() out of block
+Minor changes to reading version from VERSION file in setup.py

Add new features: Timeout, Context Data, Multi pool configuration

04 Dec 11:00
5d779a4
Compare
Choose a tag to compare

New features:
+Add NAMEKO_TIMEOUT configuration in setting.py to set a timeout for every RPC
+Add NAMEKO_CONTEXT_DATA configuration in setting.py to set context_data for every RPC
+Allow multiple pools to be initialized using different configuration with 'default' pool config as default configuration (all config will be merged)
Bug fixes
+Fix bug ClusterRPC worker stop working after connection error by remove and insert new worker instance into the ClusterRpcProxyPool
Other changes:
+Add Jetbrain IDE patterns in.gitignore file
+Bump version to 0.5
Notes:
'POOL_SIZE' is equivalent to NAMEKO_POOL_SIZE
'POOL_CONTEXT_DATA' is equivalent to NAMEKO_CONTEXT_DATA
'POOL_TIMEOUT' is equivalent to NAMEKO_TIMEOUT
in the previous release.
Old configuration with a single pool still works as normal. No code changes required
This version setting config is compatible with the config of version 0.1,0.2,0.3 but not 0.4

NAMEKO_CONFIG={
    'default': {
        'AMQP_URL': 'amqp://',
        'POOL_SIZE': 4,
        'POOL_CONTEXT_DATA': {"common": "multi"},
        'POOL_TIMEOUT': None
    },
    'pool1': {
        'AMQP_URL': 'amqp://pool2',
        'POOL_CONTEXT_DATA': {"name": "pool1", "data": 123},
    },
    'pool2': {
        'AMQP_URL': 'amqp://pool3',
        'POOL_CONTEXT_DATA': {"name": "pool2", "data": 321},
        'POOL_TIMEOUT': 60
    },
    'pool3': {
        'POOL_SIZE': 8,
        'POOL_TIMEOUT': 60
    }
}```