将ShellCommandPrecondition用于带有Datapipeline的SQLActivity。在python脚本中,如果我使用sys.exit(0)(成功信号),则Precondition成功返回并且管道继续执行。但是如果我使用sys.exit(1)(错误信号),那么Precondition不会返回并无限期地保持在Running状态。
但是使用SellCommandActivity,如果我使用sys.exit(1),那么它会正常失败并且跟随活动失败。
为什么ShellCommandPrecondition不会出现与SellCommandActivity相同的行为,或者这是AWS Datapipeline中的错误并需要纠正?
答案 0 :(得分:0)
要查看的三个properties是:
maximumRetries
retryDelay
preconditionTimeout
如果您的脚本在第一次尝试时失败(使用非零返回码),则前置条件不会立即失败。相反,它会暂停retryDelay
并再次执行maximumRetries
。前置条件允许所有尝试的总时间由preconditionTimeout
确定。