使用cli接口编写长时间运行的进程的库

oi的Python项目详细描述


用于使用cli接口编写长时间运行的进程的python库

Build Status

oi image

oi图像

安装

注意:您需要nanomsg 安装在系统上:

$ git clone git@github.com:nanomsg/nanomsg.git
$ cd nanomsg
$ ./configure
$ make
$ make check
$ sudo make install

然后安装oi

$ pip install oi

用法

一。编写长时间运行的程序

# programd.pyimportoiprogram=oi.Program('my program','ipc:///tmp/program.sock')program.add_command('ping',lambda:'pong')program.add_command('state',lambda:program.state)program.run()# program will run forever

2.添加CTL接口

# programctl.pyimportoictl=oi.CtlProgram('ctl program',address='ipc:///tmp/program.sock')ctl.run()

三。运行程序,然后通过ctl

# Run process
$ python programd

# OR with a configuration file
$ python programd --config /etc/program.conf

$ python programctl  # enter ctl loop
programctl > ping
pong

# OR ping end exit
$ python programctl ping

快速启动新项目

$ mkdir xprogram
$ cd xprogram

$ oi init
$ make install

# Start your program
$ xprogramd

# Start ctl program
$ xprogramctl
ctl > ping
pong

# Upload to pypi (Edit setup.py before distributing)
$ make distribute

有趣的是。你准备好了吗?

在一台计算机上运行程序,然后用 单线变更(实际上是两条)。

只需将地址ipc:///tmp/program.sock更改为TCP地址, 例如programd.pyprogramctl.py。就这样!(:

待办事项

  • []增加更多测试

许可证

麻省理工学院许可证

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

推荐PyPI第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?