faas的单细胞stm实验研究
faastm的Python项目详细描述
基于FAAS的STM
这是一个小库,尝试执行stm来更新存储的 对象存储系统中的状态。
它还与slack api交互。
整个过程都是通过保存外部效果来完成的,直到 stm commit传递;此时,外部效果是 也很投入。
用法
这可以安装在fn风格的无服务器功能中,如下所示:
import logging
from slacker import Text, BaseDispatch, handle, debounce
LOG = logging.getLogger(__name__)
def handler(ctx, data=None):
LOG.debug("got request: %s", data)
try:
response = handle(ctx, data, bot_class=MyBot)
LOG.debug("returning %s %s", response.status_code, response.response_data)
return response
except Exception as e:
LOG.exception("something went wrong: %s", e)
class MyBot(BaseDispatch):
@debounce(30, text=lambda t: t.ts)
def on_message(self, srv=None, sender=None, channel=None, receivers=None, text=None):
if text.match("hello") is not None:
srv.broadcast(channel=channel,
text=Text("hello, world!"))