gpt4 book ai didi

Golang后台处理

转载 作者:IT王子 更新时间:2023-10-29 01:06:42 26 4
gpt4 key购买 nike

如何在 Go 中进行后台处理/排队?

例如,用户注册,您向他们发送一封确认电子邮件 - 您希望在后台发送确认电子邮件,因为它可能很慢,邮件服务器可能已关闭等。

在 Ruby 中一个非常好的解决方案是 DelayedJob ,它将您的作业排队到关系数据库(即简单可靠),然后使用后台工作人员运行任务,如果作业失败则重试。

我正在寻找一个简单可靠的解决方案,如果可能的话不要低级别的。

最佳答案

虽然您可以只打开一个 goroutine 并执行您想要的每个异步任务,但如果您想要可靠性,即 promise 如果您触发任务,它就会完成,这不是一个很好的解决方案。

如果您真的需要它成为生产级,请选择分布式工作队列。我不知道 golang 特有的任何此类队列,但您可以使用 rabbitmq、beanstalk、redis 或类似的队列引擎从您的进程中卸载此类任务并添加容错和队列持久性。

关于Golang后台处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21748716/

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