执行aws stepfunctions任务的活动工人
stepfunctions-activity-worker的Python项目详细描述
步骤功能活动工作程序
侦听StepFunctions活动并使用活动任务的输入执行提供的函数的工作进程。
stepfunctions活动工作器封装了与stepfunctions api通信的所有部分,因此您不必担心任务心跳或维护任务令牌和成功/失败场景;您只需担心执行任务。
安装
从PyPI:
安装pip install stepfunctions_activity_worker
使用量
fromstepfunctions_activity_workerimportActivityWorkerdefmy_task(**task_input):"""Perform the task based on this task's input."""# Perform your task here! return{"result":"done!"}if__name__=="__main__":activity_arn="PLACE YOUR ACTIVITY ARN HERE"worker=ActiityWorker(activity_arn,my_task)worker.listen()
警告
如果在实例化时没有提供client
参数,ActivityWorker
类将从默认会话中创建一个正确配置的客户端。
但是,如果要向ActivityWorker
类提供已经实例化的client
,请确保已正确配置为进行stepfunctions api调用!
^{GetActivityTask
的api响应不准时(通常不准时),它将导致不必要的重试请求,并最终引发http异常。
importboto3importbotocorefromstepfunctions_activity_workerimportActivityWorkerconfig=botocore.config.Config(read_timeout=70,# Insert other custom configuration here)stepfunctions=boto3.client('stepfunctions',config=config)activity_worker=ActivityWorker(my_function,client=stepfunctions)