支持异步和django的多传输rpc。
radical-rpc的Python项目详细描述
Decription
About
radical是一个rpc库,允许您进行开箱即用的跨服务通信。
它可以代替芹菜。
Radical与Django进行了开箱即用的集成,还支持异步,但不支持异步。
radical很容易通过自定义传输和序列化器进行扩展。
可用交通工具:
- redis
- 博士后
默认和推荐的传输是redis。
可用的序列化程序:
- json
- 泡菜
默认和推荐的序列化程序是pickle。
Glossary
Term | Meaning |
---|---|
Service | A fully autonomous application written with Django, Sanic or vanilla Python. |
Transport | Module that provides interface to actual network communication: for example, a Redis transport. |
Serializer | Module that provides interface to data serialization and deserialization. |
Quick start
Installing
pip install radical-rpc
Using with Django
向已安装的应用程序添加字根:
INSTALLED_APPS=[# ...'radical',# ...]
配置字根:
RADICAL_CONFIG={'TRANSPORT_URL':'redis://redis:6379/0?request_timeout=10','QUEUE_NAME':'myapp','MODULES':['radical.demo']}
随时随地拨打电话:
fromradical.contrib.djangoimportcall_wait,callfromdjango.httpimportJsonResponsedefsome_view(request):# Call remote method and wait for it to return result.result=call_wait('myapp','radical.demo.add',1300,37)returnJsonResponse(dict(result=result))# Returns {'result': 1337}defsome_view(request):# Call remote method and do not wait for it to finish.call('myapp','radical.demo.add',1300,37)returnJsonResponse(dict(result='Job was scheduled.'))
启动激进工作者:
./manage.py radical