gpt4 book ai didi

ruby-on-rails - 我可以最多尝试1次调用delay_job吗?

转载 作者:行者123 更新时间:2023-12-04 08:34:14 26 4
gpt4 key购买 nike

我有一个异步运行的方法

User.delay(queue: 'users').grab_third_party_info(user.id)

万一失败,我希望它不要重试。我的默认重试次数为3,无法更改。我只想尝试一次。以下内容似乎无效:
User.delay(queue: 'users', attempts: 3).grab_third_party_info(user.id)

有任何想法吗?

最佳答案

这不是我最喜欢的解决方案,但是如果您需要使用delay方法,则可以将尝试次数设置为:将最大尝试次数减少一倍。所以在你的情况下以下应该工作

User.delay(queue: 'users', attempts: 2).grab_third_party_info(user.id)

更好的是,您可以通过使用Delayed::Worker.max_attempts使其更安全。
User.delay(queue: 'users', attempts: Delayed::Worker.max_attempts-1).grab_third_party_info(user.id)

这将把它输入到您的delay_jobs表中,就好像它已经运行了两次一样,因此当它再次运行时,将达到最大尝试次数。

关于ruby-on-rails - 我可以最多尝试1次调用delay_job吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994493/

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