又一个有内存和回调的有限状态机。

marmoolak的Python项目详细描述


alt logo
https://badge.fury.io/py/marmoolak.svghttps://img.shields.io/pypi/dm/marmoolak.svghttps://api.travis-ci.org/ourway/marmoolak.svghttps://codecov.io/github/ourway/marmoolak/coverage.svg?branch=master

安装

pip install marmoolak

用法

import marmoolak
marmoolak.REDIS_HOST = '192.168.99.100'
marmoolak.REDIS_PORT = 6379
machine = marmoolak.Machine

def onpanic(e):
    print('panic! ' + e.msg)
def oncalm(e):
    print('thanks to ' + e.msg + ' done by ' + e.args[0])
def ongreen(e):
    print('green')
def onyellow(e):
    print('yellow')
def onred(e):
    print('red')


fsm = machine('myname', 'version1' , {'initial': 'green',
             'events': [
                 {'name': 'warn', 'src': 'green', 'dst': 'yellow'},
                 {'name': 'panic', 'src': 'yellow', 'dst': 'red'},
                 {'name': 'panic', 'src': 'green', 'dst': 'red'},
                 {'name': 'calm', 'src': 'red', 'dst': 'yellow'},
                 {'name': 'clear', 'src': 'yellow', 'dst': 'green'}],
             'callbacks': {
                 'onpanic': onpanic,
                 'oncalm': oncalm,
                 'ongreen': ongreen,
                 'onyellow': onyellow,
                 'onred': onred }})



fsm.panic(msg='killer bees', url="http://appido.ir/appido/api/getBooks.json")
fsm.calm('bob', msg='sedatives in the honey pots')

学分

我使用fysom和redis来实现这个功能。所以大部分 redis和fysom开发人员获得了贷款。

联系我

请在rodmena@me.com给我寄封信

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

推荐PyPI第三方库


热门话题
Java程序运行时错误   JavaAndroidStudio:与往常一样,四舍五入到next.5或.0   apache使用Java以表单数据形式上载文件   带矢量的java Freeflight相机如何正确旋转?   java如何以编程方式检索有关当前项目的语言、操作系统、体系结构等信息   java Twitter4J tweet实体?   java PdfBox编码异常   java在拖动未装饰的舞台时,如何强制光标停留在窗口上   JavaSpring注释扫描优化   java无法通过IntelliJ Idea在tomcat上运行服务   java在生命周期中如何拦截请求?   java中的数组返回错误