amazon-web-services - AWS StepFunctions - SendTaskSuccess/SendTaskFailure 操作 - 任务超时
问题描述
我正在尝试执行具有使用活动资源的任务的步骤函数。
在运行我的代码后,我想返回一个SendTaskSuccess
或SendTaskFailure
回到阶跃函数。
我偶尔会收到以下错误(不到 10 秒后):
An error occurred (TaskTimedOut) when calling the SendTaskFailure operation: Task Timed Out: 'arn:aws:states:us-east-1:<....>'
我在哪里禁用TaskTimeOut?或者我如何增加它?
更多信息
这是步骤功能代码
{
"Comment": "orchestrator-state-machine",
"StartAt": "get_data_from_lambda",
"States": {
"get_data_from_lambda": {
"Type": "Pass",
"Next": "start_task"
},
"start_task": {
"Type": "Task",
"Resource": "arn:aws:states:us-east-1:<...>",
"End": true
}
}
}
发送成功代码
self._client = boto3.client('stepfunctions', self._region, config=Config(connect_timeout=65,read_timeout=70,region_name=self._region))
...
def task_success(self, token, result):
self.logger.info(str(token))
try:
self._client.send_task_success(taskToken=token, output=result)
self.logger.info("sending success back to step function")
except Exception as e:
self.logger.error("did not send success to step function: {0}".format(str(e)))
return True
请求详情
{
'Error': {
'Message': "Task Timed Out: 'arn:aws:states:us-east-1:<....>t'",
'Code': 'TaskTimedOut'
},
'ResponseMetadata': {
'RequestId': 'b******d-755a-****-9cef-ad*******a4c',
'HTTPStatusCode': 400,
'HTTPHeaders': {
'x-amzn-requestid': 'b******d-755a-****-9cef-ad*******a4c',
'content-type': 'application/x-amz-json-1.0',
'content-length': '154'
},
'RetryAttempts': 0
}
}
解决方案
您可以通过添加Timeout=300
300 的时间(以秒为单位)来为活动步骤添加超时。
"start_task": {
"Type": "Task",
"Resource": "arn:aws:states:us-east-1:<...>",
"Timeout":300,
"End": true
}
你还需要让你的资源 arn 是活动 arn 而不是 lambda 函数 arn
推荐阅读
- swiftui - 如何在swiftui的Canvas预览中选择单个元素?
- mysql - 如何从员工表中删除最高薪员工?
- r - 如何处理具有太多拟合值的二次模型?
- c# - 有没有办法检查游戏对象是否已被销毁?
- python - 为张量流服务转换预训练张量流模型
- c# - 如何将特定列表视图行添加到另一个表单上的另一个列表视图
- c++ - 是什么导致 macOS Mojave 上的 GoogleTest 链接错误?
- acumatica - Acumatica,修改从发票生成的 Gl 批次以处理多付款
- jquery - 打开灯箱后将 data-textval 中的参数添加到 URL
- excel - 将筛选器添加到 Excel 中的 Publisher 邮件合并