使用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连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中