用于编写高度可伸缩应用程序的通用python框架

pyscale的Python项目详细描述


用于编写高度可伸缩应用程序的通用python框架。

关于

典型的应用程序由几个模块组成。每个模块都有自己的 处理,在“tmp/pids”中存储一个pidfile,在“logs”中有一个日志文件。

rpc协议是在zeromq之上实现的,以便 模块间通信。模块具有可自动调整的工人数量 以便处理大量的请求。这些rpc请求将阻止 直到那个模块可用。 在http://zguide.zeromq.org/上阅读有关zeromq的更多信息

每个模块由几个gevent greenlet组成。基本模块已经 包含一些处理传入rpc请求的greenlet。你可以产卵 额外的绿色小菜可以满足你自己的需要。 有关gevent的详细信息,请访问http://www.gevent.org/

任务

您可以使用内置任务管理和调试模块。在a处键入“cake” 在项目内部时,bash会提示您查看可用的任务及其执行的操作。 你也可以定义你自己的收入。

命令

创建新项目:

$ pyscale new <name>

生成新模块:

$ pyscale generate <name>

要启动、停止、调试、查看日志和更多可用的蛋糕任务,请执行以下操作:

$ cake
$ cake start
$ cake stop
$ cake status
$ cake log
$ cake console

用法

在另一个模块上执行rpc请求:

self.sock('modname').method(*args, **kwargs)

您还可以使用属性和链请求:

self.sock('modname').prop.method()

您还可以对所有可用模块发出请求:

self.multisock('*').method()

要在模块中生成另一个greenlet,请使用“job”装饰器或:

self.jobs.spawn(func)

要调试应用程序,请使用日志和控制台。

要求

系统依赖项:
  • 零MQ
  • ATD
python依赖项:
  • PYZMQ
  • gevent
  • gevent_zeromq
  • 蛋糕
  • argparse
  • Jinja2
  • 鼻子

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

推荐PyPI第三方库


热门话题
ArrayList Scanner UserInput的Java ArrayList   java ILOG TSP获取空输出   服务器Java Http客户端没有此类字段错误   java ContextMenu在managedbean中不调用delete   java Getting submit按钮用于recyclerview适配器和主活动中的edittext   java JavaFX ListView selectedItemProperty未在clearSelection(索引)时触发   如何使用Spring和Java从LDAP获取userPassword属性   java Autowired不适用于非spring Singleton   rhel Red Hat Linux Enterprise 5.7删除Java   java com。谷歌。应用程序编程接口。客户扩展。安卓http。安卓http已被弃用   Java列表集方法   java在一个集合中监听多个文档,并更新recyclerview   java decodeByteArray返回null   java如何更改dconf目录?   Spring中RestTemplate中的java unicode转换   java帮助实现树递归   java如何在libGDX中测量触摸压力