在不进入wait-sleep循环的情况下检查作业状态

0

【以下的问题经过翻译处理】 我们想从我们的应用程序触发 aws personalize item-attribute-affinity的 用户细分批处理作业。我们计划使用AWS Step Functions来触发批处理的区段。批处理区段作业是异步作业,作业可能需要更多时间才能完成。我们可以使用带有“Wait for a Callback with the Task Token”功能的step function调用来触发批处理区段作业吗?这样我们就不需要实现 wait/sleep 和 awage/check 循环。 或者有没有其他方法可以在不进入wait-sleep循环的情况下检查作业状态?

profile picture
專家
已提問 9 個月前檢視次數 42 次
1 個回答
0

【以下的回答经过翻译处理】 如果你调用的API是同步的,即它会一直阻塞直到操作完成并返回答案,那么你不需要做任何其他的事情。

但是,如果操作是异步的,即你会得到一个作业ID,那么你需要通过轮询以获取响应,别你会获取作业状态,检查作业是否完成,如果还没有完成,等待几秒钟/几分钟后再返回。

特别是在使用Personalize时,如果你使用的是create_batch_segment_job,那么它是异步的,因此你需要调用describe_batch_segment_job来获取最新的状态。

有一些服务与Step Functions进行了优化集成。你可以在资源名称中使用.sync来调用API,然后Step Functions会为你完成循环。但Personalize不是这些服务之一。

你还提到了一个令牌。我不确定你具体指的是哪个令牌。如果你指的是等待任务令牌集成类型,那么需要有人调用完成API,而Personalize不知道如何调用它。

profile picture
專家
已回答 9 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南