Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't seem to retry Timeout::Error #72

Closed
barmstrong opened this issue Feb 25, 2013 · 8 comments
Closed

Doesn't seem to retry Timeout::Error #72

barmstrong opened this issue Feb 25, 2013 · 8 comments

Comments

@barmstrong
Copy link

I'm using extend Resque::Plugins::ExponentialBackoff with the default retry schedule and it works great normally, but it seems like Timeout::Error is not being retried. In other words, I'm quite sure the service was up during one of the 6 attempts over the 6 hour time window. And when I manually retry the job from the failed job queue, it works right away.

I remember there was some issues back in the day with ruby where certain exceptions would subclass Error instead of Exception or something along those lines. But it seems like that is not a problem here:

irb(main):003:0> Timeout::Error.ancestors
=> [Timeout::Error, RuntimeError, StandardError, Exception, ActiveSupport::Dependencies::Blamable, Object, AttrEncrypted::InstanceMethods, ActiveSupport::Dependencies::Loadable, PP::ObjectMixin, Mongoid::Extensions::Object, Moped::BSON::Extensions::Object, Origin::Extensions::Object, JSON::Ext::Generator::GeneratorMethods::Object, Kernel, BasicObject]
irb(main):004:0>

Can you think of any reason Timeout::Error wouldn't be getting retried? Thanks!

@barmstrong
Copy link
Author

I guess same question on Resque::TermException. Shouldn't it be retrying on these also? Thanks!

@tinou-okl
Copy link

I'm also experiencing this issue. When my job get s a timeout exception it is not retried and put in the failed queue.

@courtsimas
Copy link

+1

@courtsimas
Copy link

anyone figured this out? I tried standarderror, i tried being explicit with AWS::S3::Errors::RequestTimeout.... no luck.

@realadeel
Copy link

+1 still seeing this....

@lantins
Copy link
Owner

lantins commented Jul 15, 2014

Can anyone (other then @barmstrong) provide some more details:

  • Ruby version
  • Exception you seen

Bonus points if you provide a pull request with a test case! (even without a fix)

@realadeel
Copy link

Ruby 2.0.0
For me it's any raising of Timeout::Error. I literally test in my code with "raise Timeout::Error" to try to manually duplicate the problem and it does duplicate.
In the meantime I'm doing retry manually for this exception, and leaving other retrying as-is.
My worker class starts like this:

class SyncChannel
@Queue = :high
extend Resque::Plugins::Retry
@retry_limit = 3
@retry_delay = 60

@jzaleski
Copy link
Collaborator

@Proletarian I vaguely recall dealing w/ this exact issue at a previous company. But I can't remember the fix for the life of me. Let me reach out to them tomorrow and see if anyone can locate what we did to fix it.

@lantins lantins closed this as completed Aug 4, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants