所以我正在使用Delayed::Job工作程序(在Heroku上)作为用户创建某个模型后的after_create回调。
尽管如此,一个常见的用例是用户创建某些内容,然后立即将其删除(可能是因为他们犯了一个错误或其他原因)。
当这种情况发生时,工作程序会启动,但当它们查询手头的模型时,它已经被删除了,但由于自动重试功能,这个不幸的作业将重试25次,并且肯定永远不会成功。
有没有办法捕获特定的错误,并在发生时防止该特定作业再次重试,但如果不是那个错误,则将来会重试?
尽管如此,一个常见的用例是用户创建某些内容,然后立即将其删除(可能是因为他们犯了一个错误或其他原因)。
当这种情况发生时,工作程序会启动,但当它们查询手头的模型时,它已经被删除了,但由于自动重试功能,这个不幸的作业将重试25次,并且肯定永远不会成功。
有没有办法捕获特定的错误,并在发生时防止该特定作业再次重试,但如果不是那个错误,则将来会重试?