泽纳顿客户端库
zenaton的Python项目详细描述
浏览文档
网站
·
python中的示例
·
python教程
用于python的zenaton库
zenaton帮助开发人员在不管理排队系统的情况下轻松运行、监视和编排工作人员的后台作业。除此之外,监视仪表板还会显示实时任务执行情况,并帮助您处理错误。
用于python的zenaton库允许您使用zenaton平台编写和启动任务,并将工作流作为代码编写。您可以在Zenaton注册一个帐户,然后在Python中完成教程。
要求
这个包已经用python 3.5进行了测试。
python文档
您可以在Zenaton的网站上找到所有详细信息。
<详情> 要安装Zenaton代理,请运行以下命令: 然后,你需要你的代理来监听你的申请。
为此,您需要应用程序ID和API标记。
您可以在您的Zenaton账户上找到这两个账户。
要将库的最新版本添加到项目中,请运行以下命令: 如果您使用的是django,请认罪请参阅我们的专用文档开始: 首先,需要初始化客户端。为此,您需要应用程序ID和API标记。
您可以在您的Zenaton账户上找到这两个账户。
然后,初始化Zenaton客户端: Zenaton的后台工作是一个实现Zenaton.abstracts.task.task接口的类。 让我们从实现第一个任务开始打印一些内容,并返回一个值: 现在,如果要将此任务作为后台作业运行,则需要执行以下操作: 这就是你要开始的一切。有了这个,你可以运行许多后台作业。
然而,泽纳顿真正的力量是能够安排这些工作。下一节将向您介绍作业编排。 作业编排允许您以简单的方式编写复杂的业务工作流。
您可以根据上一个作业的结果有条件地顺序、并行地执行作业,
您甚至可以使用循环来重复某些任务。 我们写了一些关于作业编排的用例,您可以查看这些文章
以了解人们如何使用作业编排。 Zenaton中的工作流是实现Zenaton.abstracts.workflow.workflow接口的类。 我们将实现一个非常简单的工作流: 首先,它将执行 要记住的一件重要事情是,工作流实现必须是等幂的。
您可以在我们的文档中了解更多信息 实现如下: 现在您的工作流已经实现,您可以通过调用 如果您真的想运行此示例,则需要实现 工作流中还有许多可用的功能,以便正确地完成编排。你可以学到更多
在我们的文档中 需要帮助吗?请通过在Zenaton上聊天随时与我们联系。
找到虫子了吗? 在github上,欢迎使用bug报告和pull请求。本项目旨在成为一个安全、受欢迎的协作空间,参与者应遵守//contributor convention.org" rel="nofollow">贡献者契约行为准则。 要在发送拉取请求之前测试更改,请首先安装测试要求: 然后运行pytest: 根据麻省理工学院许可证的条款,该软件包以开源的形式提供。
在Zenaton Python项目的代码库、问题跟踪程序、聊天室和邮件列表中进行交互的每个人都应该遵循行为准则。
在分派工作流和任务、向工作流发送事件以及
暂停/恢复/终止工作流。 增加了日程安排: 修复了某些边缘情况下的等待任务行为
在发送请求之前对http参数进行编码 对象序列化(包括循环结构) 通过持续时间和时间戳类增强 小的增强(包括workflow find()方法) 新版方案管理 重新组织的模块 完全重写包开始
安装
安装Zenaton代理
curl https://install.zenaton.com/ | sh
zenaton listen --app_id=YourApplicationId --api_token=YourApiToken --app_env=YourApplicationEnv --boot=boot.py
安装库
pipinstallzenaton
框架集成
快速启动
客户端初始化
fromzenaton.clientimportClientClient(your_app_id,your_api_token,your_app_env)
执行后台作业
importrandomfromzenaton.abstracts.taskimportTaskfromzenaton.traits.zenatonableimportZenatonableclassHelloWorldTask(Task,Zenatonable):defhandle(self):print('Hello World\n')returnrandom.randint(0,1)
HelloWorldTask().dispatch()
编排后台作业
使用工作流
helloworld
任务。
第一个任务的结果将用于使用if
语句生成条件。
当返回值大于0
时,我们将执行第二个名为finaltask
的任务。
否则,我们不会做任何其他事情。fromtasks.hello_world_taskimportHelloWorldTaskfromtasks.final_taskimportFinalTaskfromzenaton.abstracts.workflowimportWorkflowfromzenaton.traits.zenatonableimportZenatonableclassMyFirstWorkflow(Workflow,Zenatonable):defhandle(self):n=HelloWorldTask().execute()ifn>0:FinalTask().execute()
dispatch
方法来执行它:MyFirstWorkflow().dispatch()
finaltask
任务。获取帮助
理论示例
现实生活中的例子
贡献
测试
pip install '.[test]'
curl https://install.zenaton.com/ | sh
0
许可证
行为准则
更改日志
[未发布]
添加
更改
已弃用
删除
已修复
安全性
[0.4.0]-2019-08-26
添加
日程安排(cron)
[0.3.4]-2019-07-01
添加
[0.3.3]-2019-06-25
固定
[0.3.2]-2019-06-21
固定
添加
事件数据
属性。[0.3.1]-2019-04-26
固定
manifest.in
文件中不包含setup.py所需的文件
[0.3.0]-2019-03-25
添加
已修复
[0.2.5]-2018/10/17
[0.2.4]-2018年9月26日
[0.2.3]-2018年9月21日
[0.2.2]-2018/09/19
[0.2.1]-2018/09/17
[0.2.0]-2018/09/14
推荐PyPI第三方库