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

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

Comments

Projects
None yet
6 participants
@barmstrong

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

This comment has been minimized.

Show comment Hide comment
@barmstrong

barmstrong Feb 25, 2013

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

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

@tinou-okl

This comment has been minimized.

Show comment Hide comment
@tinou-okl

tinou-okl Mar 29, 2013

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

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

This comment has been minimized.

Show comment Hide comment
@courtsimas

courtsimas May 1, 2013

+1

+1

@courtsimas

This comment has been minimized.

Show comment Hide comment
@courtsimas

courtsimas May 3, 2013

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

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

@realadeel

This comment has been minimized.

Show comment Hide comment
@realadeel

realadeel Jul 15, 2014

+1 still seeing this....

+1 still seeing this....

@lantins

This comment has been minimized.

Show comment Hide comment
@lantins

lantins Jul 15, 2014

Owner

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)

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

This comment has been minimized.

Show comment Hide comment
@realadeel

realadeel Jul 15, 2014

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

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

This comment has been minimized.

Show comment Hide comment
@jzaleski

jzaleski Jul 18, 2014

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.

Collaborator

jzaleski commented Jul 18, 2014

@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 Aug 4, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment