[英]Azure Service Fabric actor reminder update?
假設我有一個可靠的actor在OnActivateAsync
中注冊了一個提醒。 該提醒的period
是從某些持久性存儲中檢索的。 一段時間后,該演員被垃圾收集了。
再過一段時間后,將調用actor或觸發提醒,並在運行時調用OnActivateAsync
。 同時,我更新了持久存儲中的提醒period
。
現在會發生什么? 我嘗試再次注冊提醒,但period
不同。 提醒會隨着新period
更新嗎?
另一種情況是演員的更新。 假設period
是硬編碼的,但是新版本的actor使用不同的period
。 現在,當調用OnActivateAsync
並再次注冊提醒時會發生什么?
因此,當您的提醒第一次觸發時,由您來檢查該期限是否已更新,並注銷現有的提醒並注冊一個新的提醒。 您無法更新現有的提醒-使用GetReminder
查看它是否存在,然后取消注冊並創建一個新的提醒。
```
var reminder = GetReminder(reminderName);
if (reminder != null)
{
// do something with it...
}
```
如果參與者代碼已升級,並且您的代碼中有一個硬編碼的時期(已更改),那么在有了保護的情況下,您將不會注冊/更新現有的提醒。
當您嘗試重新注冊現有的提醒時,它將被更新。 從RegisterReminderAsync
文檔( https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.servicefabric.actors.runtime.actorbase.registerreminderasync?view=azure-dotnet ):
也可以通過再次調用此方法來更新現有的提醒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.