为每个任务赋予身份
使用唯一标识符,并保存任务处于排队、运行、成功还是等待审核的状态。崩溃不应抹去外部操作可能已经发生的记录。在重试之前,先核对不确定的结果。
授予一小组权限
将只读发现与影响账户、资金或生产数据的变更分开。使用限定范围的服务凭据和资源限制。对于后果超出工作器常规权限的操作,保留人工审批。
限制重试次数
使用最大尝试次数、退避以及死信或审核路径。遵守提供商速率限制。临时故障不应演变成数千次重复请求或重复消息。
让记录安全且有用
记录操作标识符、结果和相关时间戳。隐去凭据和不必要的个人数据。保留暂停队列、撤销令牌以及从部分操作中恢复而不丢失整个工作流的方法。