Skip to content

Commit 0fe37d0

Browse files
committed
Manage start_failed
Signed-off-by: Yves Bastide <yves@botify.com>
1 parent 05f07ce commit 0fe37d0

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

simpleflow/history.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,16 @@ def get_lambda():
647647
'started_id': event.id,
648648
'started_timestamp': event.timestamp,
649649
})
650+
elif event.state == 'start_failed':
651+
lambda_function = get_lambda()
652+
lambda_function.update({
653+
'state': event.state,
654+
'cause': event.cause,
655+
'message': getattr(event, 'message', ''),
656+
'start_failed_id': event.id,
657+
'start_failed_timestamp': event.timestamp,
658+
'retry': lambda_function.get('retry', -1) + 1,
659+
})
650660
elif event.state == 'completed':
651661
lambda_function = get_lambda()
652662
lambda_function.update({

simpleflow/swf/executor.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,11 +389,19 @@ def _get_future_from_lambda_function_event(self, event):
389389
reason=event['reason'],
390390
details=event.get('details'),
391391
))
392+
elif state == 'start_failed':
393+
future.set_exception(exceptions.TaskFailed(
394+
name=event['id'],
395+
reason=event['cause'],
396+
details=event.get('message'),
397+
))
392398
elif state == 'timed_out':
393399
future.set_exception(exceptions.TimeoutError(
394400
event['timeout_type'],
395401
None,
396402
))
403+
else:
404+
logger.warning('Unknown state: %s', state)
397405

398406
return future
399407

0 commit comments

Comments
 (0)