我想在捕获DeadlineExceededError后正常退出。我还剩下多少钱可以清理?
例如,
try:
do_some_work()
except DeadlineExceededError:
# How much more time do I have here?
# Can clean_up() be as long as 1s, 5s, or longer?
clean_up()
return
more_work()
我正在编写用于监视和修复Azure上的dead letter queue of a topic subscription中的消息的功能。
我可以使用_subscriptionClient.PeekBatch(10)获得一个消息列表,以供显示;但是,当我们想要实际删除其中一条消息时,我们会陷入困境。
工作流程如下:
获取所有消息的列表
将特定消息(例如集合中的第5个on )发送回原始队列进行重新处理。
将相关的死信消息标记为.Complete()。
问题是,虽然我们有消息列表,但如果不首先使用.Complete(),就不能在特定消息上调用.subscriptionClient