gpt4 book ai didi

azure - 与 Actor 进行即发即忘消息传递?

转载 作者:行者123 更新时间:2023-12-02 06:49:31 26 4
gpt4 key购买 nike

据我所知,Service Fabric 的参与者模型仅支持“请求-答复”样式的通信。有什么方法可以实现“一劳永逸”式的沟通吗? (例如:就像 Akka 中的“询问”与“告诉”消息一样?)

我遇到了这篇博文 ( http://mikhail.io/2016/01/fire-and-forget-in-service-fabric-actors/ ),但不确定这是否会产生任何负面后果,或者是否有推荐的方法来实现此目的?

最佳答案

在你的actor上有一个初始化方法,它可以为你的任务提供所需的种子。设置一个计时器并从初始化方法返回。当计时器触发时,关闭计时器,并运行您的逻辑“Fire and Forget”,以保证您的工作得到执行。下面是粗略的示例。

public class SomeActor : Actor, ISomeActor
{
private IActorTimer _sendTimer;

protected override async Task OnActivateAsync()
{
await base.OnActivateAsync();
}

protected override async Task OnDeactivateAsync()
{
await this.ExecuteAgents();
await base.OnDeactivateAsync();
}

public Task Initialize()
{
if (_sendTimer == null)
{
//setup timer
_sendTimer = this.RegisterTimer((obj) =>
{
return this.Execute();
},
null,
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(30));
}
}

private async Task ExecuteAgents()
{
this.UnegisterTimer(_sendTimer);

//Perform workload
}
}

关于azure - 与 Actor 进行即发即忘消息传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38103815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com