支持异步和django的多传输rpc。

radical-rpc的Python项目详细描述


https://raw.githubusercontent.com/and3rson/radical/master/images/logo.png

Decription

About

radical是一个rpc库,允许您进行开箱即用的跨服务通信。

它可以代替芹菜。

Radical与Django进行了开箱即用的集成,还支持异步,但不支持异步。

radical很容易通过自定义传输和序列化器进行扩展。

可用交通工具:

  • redis
  • 博士后

默认和推荐的传输是redis。

可用的序列化程序:

  • json
  • 泡菜

默认和推荐的序列化程序是pickle。

Glossary

TermMeaning
ServiceA fully autonomous application written with Django, Sanic or vanilla Python.
TransportModule that provides interface to actual network communication: for example, a Redis transport.
SerializerModule that provides interface to data serialization and deserialization.

Quick start

Installing

pip install radical-rpc

Using with Django

  1. 向已安装的应用程序添加字根:

    INSTALLED_APPS=[# ...'radical',# ...]
  2. 配置字根:

    RADICAL_CONFIG={'TRANSPORT_URL':'redis://redis:6379/0?request_timeout=10','QUEUE_NAME':'myapp','MODULES':['radical.demo']}
  3. 随时随地拨打电话:

    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.'))
  4. 启动激进工作者:

    ./manage.py radical
    

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ApachePOI如何通过java从excel文件中删除空白列?   linux到后台Java服务应用程序的简单发送/接收接口   java ActionBarPullToRefresh什么都没发生   java从millis获取错误的整数天   java相同的代码在两个不同的包上表现不同   java将每个新的char元素写入一个文件(如果被覆盖)   mysql如何在Java中通过外键链接的多个表中插入数据   java环境下mysql网络文件访问   java当使用构建器模式时,为什么我不应该重用builderobject来访问对象配置?   java jQueryServlet post异常失败   java应该使用什么逻辑来创建像《愤怒的小鸟》中那样的锁屏   java Android:在不滑动的情况下更改ViewPager中的片段   java在使用我的程序逻辑时获得空输出