跳转到主要内容

为OMG提供的微框架,代码是用Python 3.6+编写的。

项目描述

omg.py

为优秀的Open Microservices Guide提供的微框架,用于支持Python 3.6+编写的代码。

注意:这是预发布软件,可能会进行改进。欢迎贡献!此框架也正在为其他语言开发。如果您想帮忙,请告诉我们

预期/示例用法

$ cat service.py
import omg
from uuid import uuid4

service = omg.Microservice(name='uuid')

@service.register()
def new(prefix: str) -> str:
    """Generates a UUID, with a given prefix."""
    return f'{prefix}{uuid4().hex}'

if __name__ == '__main__':
    service.serve()

register有一些可选参数:namepath。您也可以调用service.add(f=new)

接下来,运行命令$ omg-generate,将自动为您应用程序生成microservice.yml文件。

$ omg-generate service:service
…
'microservice.yml' written to disk!
$ cat microservice.yml
actions:
  new:
    help: Generates a UUID, with a given prefix.
    arguments:
      prefix:
        in: query
        required: true
        type: string
    http:
      method: get
      path: /new
      port: 8080
    output:
      type: string
lifecycle:
  startup:
    command:
    - python3
    - /app/service.py
omg: 1
$ cat Dockerfile
FROM kennethreitz/pipenv
COPY . /app
CMD ["python3", "service.py"]

现在,运行您的微服务!

$ python service.py
2019-05-09 14:45:39,342 - micro - DEBUG - Initiating 'uuid' service.
2019-05-09 14:45:39,344 - micro - DEBUG - Registering Flask endpoint: '/new'
2019-05-09 14:45:39,344 - micro - DEBUG - Dockerfile './Dockerfile' already exists!
2019-05-09 14:45:39,345 - micro - DEBUG - Microservice Manifest './microservice.yml' already exists!
2019-05-09 14:45:39,346 - micro - INFO - Serving on: '*:8080'

这将启动一个Flask应用程序(使用生产就绪的waitress网络服务器),预先配置好以服务于大众!

或者,使用omg-cli

$ omg run new -a prefix='user-'

安装

$ pip install omg.py

提示:如果您愿意,请提供反馈! :)

✨ 🍰 ✨

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

omg-micro-0.4.0.tar.gz (7.4 kB 查看哈希值)

上传于

构建的发行版

omg_micro-0.4.0-py2.py3-none-any.whl (6.5 kB 查看哈希)

上传于 Python 2 Python 3

由以下支持