Django集成于nameko微服务框架。
项目描述
django-nameko
Travis-CI 
分支 | 构建状态 |
---|---|
master | |
develop |
nameko-django
Django集成于nameko微服务框架
使用msgpack和pickle的自定义Kombu序列化器
此序列化器完全兼容msgpack,因此可以像这样使用
serializer: 'django_msgpackpickle'
ACCEPT: ['msgpack', 'django_msgpackpickle']
SERIALIZERS:
msgpack:
encoder: 'nameko_django.serializer.dumps'
decoder: 'nameko_django.serializer.loads'
content_type: 'application/x-msgpack'
content_encoding: 'binary'
为了将现有的微服务堆栈(使用msgpack
序列化器)迁移到使用此新序列化器,首先安装并设置所有项目
serializer: 'msgpack'
ACCEPT: ['msgpack', 'django_msgpackpickle']
SERIALIZERS:
msgpack:
encoder: 'nameko_django.serializer.pack'
decoder: 'nameko_django.serializer.loads'
content_type: 'application/x-msgpack'
content_encoding: 'binary'
这将接受msgpack
和django_msgpackpickle
两种格式,但仅输出使用msgpack
的结果。一旦所有服务迁移完成,再切换到第一种配置
功能
此序列化器将自动编码和解码
- DateTime、Date、Time、Duration:对象将被转换为与django.utils.dateparse兼容的字符串表示形式,并使用django.utils.dateparse()转换回对象
- Decimal:对象将被转换为字节字符串,然后恢复回Decimal
- Django ORM实例:对象将使用python cPickle/pickle库进行pickle,然后恢复为ORM Model实例
- Django ORM queryset:对象将被变形为Model + Query,然后进行pickle,以避免发送实例列表
字符串评估
此序列化器可以评估与django.utils.dateparse
格式兼容的字符串,并自动将其转换为DateTime
、Date
、Time
、Duration
对象。
它还可以评估类似以下的字符串:"<app_name.model_name.ID>"
这将转换为ORM实例:使用Model.objects.get(pk=ID)
。例如:<auth.User.1>
"(app_name.model_name: RAW_QUERY_WITHOUT_SELECT_FROM)"
这将转换为ORM查询集。例如:(auth.User: id >= 1 and date_joined > '2018-11-22 00:47:14.263837')
项目详情
关闭
nameko-django-1.1.4.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0f5dcd75dd7a1c8c462d866c3fcb23839baf65eff7a09ab4f8645cd0b647d4c9 |
|
MD5 | ee580c91efc6d300cfdb5eea146a1cfc |
|
BLAKE2b-256 | 932b45284e87523ec53d4729702bc1b362dabc09ac5486ef595bab8492057aa8 |