MOTIV,简单高效的加工流水线。
motiv的Python项目详细描述
动机
简单高效的处理流水线。
MOTIV是一个简化和支持构建最小管道和类似管道的应用程序的框架。它抽象了通信、消息传递模式和执行模式。
何时使用motiv?
motiv用于最小的流水线和类似流水线的应用程序,您可以使用它构建紧密耦合或松散耦合的流水线。然而,如果您的管道的目的是数据处理,motiv是一个好的开始。如果目的是big数据处理,那么最好使用大数据处理引擎(例如spark)。
为什么是摩蒂夫?
motiv很简单,它提供了许多消息传递模式,它为您管理这些模式,并为您提供对它们的直接控制。motiv是无状态的,使用它的应用程序也应该是无状态的。motiv使用高效且非常快速的通信/消息传递(zmq)进行底层通信。
安装
$ pip install motiv
或(推荐)
$ git clone git@github.com:SaadTalaat/motiv.git
$ cd motiv
$ python3 setup.py install
快速启动
motiv有两种类型的模式,它们粘在一起形成管道中的组件。流(消息传递模式)和参与者(执行模式)。流可以是Emitter
、Subscriber
、Ventilator
、Worker
、Sink
。参与者可以是Ticker
或Proxy
。
streams吗?
流是发送消息或接收消息的样板消息模式。例如,Emitter
具有典型的发布者行为。与Emitter
不同,a Ventilator
在侦听组件(工作者)之间分发消息。
执行模式?
执行模式定义了组件应该如何执行,例如,组件可以只是两个流之间的Proxy
,这两个流将通过订户流接收的消息转发给通风机,或者从工作进程转发给发布服务器,或者从工作进程转发给接收器。它也可以是一个Ticker
,它在每个周期调用Ticker.tick
方法函数时一直执行到停止事件循环,这种行为便于处理传入消息并将结果发送给不同的参与者或根据这些消息执行操作。
streams+执行模式
执行模式或参与者希望有一个输入流或输出流,或者两者都有,以便它可以运行。
示例
参见示例:motiv/examples/
运行示例,
$ git clone git@github.com:SaadTalaat/motiv.git
$ cd motiv
$ python3 motiv/examples/workers.py
....
$ python3 motiv/examples/pubsub.py
免责声明
MOTIV还在开发中,主人可能不稳定,功能会很快推出。我鼓励您修复任何错误代码,提出任何与您有关的问题,并积极参与开发motiv。