Durable Azure Function Orchestrator 是否会释放计时器锁定?
Does Durable Azure Function Orchestrator release lock on timer?
我的 Azure 函数中有这段代码:
using var entityLock = await orchestrationContext.LockAsync(entityId);
for (int i = 0; i < 3; i++)
{
// call an entity function, if it does not succeed : wait with a timer like this and then try again
await orchestrationContext.CreateTimer(oneHourInTheFuture, CancellationToken.None);
}
我想了解是在整个编排期间(包括计时器)一直持有锁,还是在编排等待时释放锁。
由于CreateTimer
还在using
语句中,所以不会释放锁。锁将在编排的整个持续时间内保持,包括您的情况下的计时器。
我的 Azure 函数中有这段代码:
using var entityLock = await orchestrationContext.LockAsync(entityId);
for (int i = 0; i < 3; i++)
{
// call an entity function, if it does not succeed : wait with a timer like this and then try again
await orchestrationContext.CreateTimer(oneHourInTheFuture, CancellationToken.None);
}
我想了解是在整个编排期间(包括计时器)一直持有锁,还是在编排等待时释放锁。
由于CreateTimer
还在using
语句中,所以不会释放锁。锁将在编排的整个持续时间内保持,包括您的情况下的计时器。