创建Zeebe Workers的简易工人包装

zeebe-worker的Python项目详细描述


Zeebe工人

一个简单的Zeebe worker包装器,让开发人员专注于重要的事情。

安装

pip install zeebe-worker或使用您首选的包管理器。 有关可用版本,请参见https://pypi.org/project/zeebe-worker/#history

使用

fromzeebe_workerimportZeebeWorkerfromextensionsimportzeebe_stubfromconfigimportworker_nameclassMyWorker(ZeebeWorker):defmy_task_type_handler(self,job):"""Handling my_task_type        """variables=json.loads(job.variables)ifsomething_fails:# This will trigger a FailJobRequest with the exceptionraiseExceptionreturnvariablesdefanother_task_type_handler(self,job):"""Handles another task        """# This will always succeed as an exception will never be raisedpass# Create your own class instance with your own configurationmy_worker=MyWorker(zeebe_stub,worker_name)# Subscribe to a task type (uses threading.Thread for concurrency)my_worker.subscribe('my_task_type','my_task_type_handler')my_worker.subscribe('my-task-typo','my_task_type_handler')my_worker.subscribe('another_task_type','another_task_type_handler')

美国石油学会

ZeebeWorker.__init__

使用设置的默认值初始化worker类。

argdescdefault
stubThe grpc stub to connect to Zeebe with-
worker_nameThe worker_name to send to along to Zeebe (mainly for debugging purposes)-
timeoutNumber of milliseconds for a job to timeout5*60*1000 (5 minutes)
request_timeoutLong polling: number of milliseconds for an ActivateJobs request to timeout1*60*1000 (1 minute)
max_jobs_to_activateMaximum amount of jobs to activate in one request1
backoff_intervalNumber of milliseconds to backoff when unable to reach Zeebe5*1000 (5 seconds)

ZeebeWorker.subscribe

同时将目标订阅到任务类型。

^{tb2}$

目标函数

您自己的目标函数必须接受一个参数,最好称为job。这将提供 就像Zeebe的ActivatedJobref)。 使用variables = json.loads(job.variables)提取变量。

工作失败

在函数中引发any exception将向zeebe发送一个FailJobRequest,其中包含引发的异常。

完成作业

如果函数在未引发异常的情况下执行异常,则将为该作业发送CompleteJobRequest。

设置变量

当函数返回dict时,它将把dict作为变量与CompleteJobRequest一起发送。

相容性

^{3}$

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

推荐PyPI第三方库


热门话题
java在不缩放javafx形状位置的情况下调整其大小   基于java Hibernate注释的查询执行错误?   swing Java游戏开发:图形   java Apache Commons FileUtil工具在相等文件比较时不返回true   java实时数据库在连续单击按钮时更新同一对象   javaxml数字签名与JAXWS   使用IntelliJ将Java模块作为AndroidGradle模块和非Radle Java模块的依赖项   java Android文本视图快速更改字体大小   java如何旋转长方体Libgdx   java在不使用lastIndexOf()的情况下打印字符串的最后一个索引   java在bean生命周期中何时调用setter注入   java Android:替换缺失的安全体系结构   正在获取警报插入“=在selenium和java中使用if语句时检查null   java类导入显示编译错误   java未知崩溃   java将活动元素的排列设置为lefttoright(defualt)