Skip to content

Commit f3c7882

Browse files
committed
Manage start_failed
Signed-off-by: Yves Bastide <[email protected]>
1 parent 1369a43 commit f3c7882

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
@@ -390,11 +390,19 @@ def _get_future_from_lambda_function_event(self, event):
390390
reason=event['reason'],
391391
details=event.get('details'),
392392
))
393+
elif state == 'start_failed':
394+
future.set_exception(exceptions.TaskFailed(
395+
name=event['id'],
396+
reason=event['cause'],
397+
details=event.get('message'),
398+
))
393399
elif state == 'timed_out':
394400
future.set_exception(exceptions.TimeoutError(
395401
event['timeout_type'],
396402
None,
397403
))
404+
else:
405+
logger.warning('Unknown state: %s', state)
398406

399407
return future
400408

0 commit comments

Comments
 (0)