在不进入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
专家
已提问 8 个月前33 查看次数
1 回答
0

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

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

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

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

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

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则