Search code examples
devisetimeoutsendmailsidekiq

Devise Async + Sidekiq + sendmail timeout


I'm getting timeouts with using Sidekiq::Extensions::DelayedMailer.

Does anyone know how to change the timeout time to be longer so that Sidekiq can send messages successfully?

Here is my logdump:

2013-04-16T11:29:19Z 14364 TID-ows844wu8 Sidekiq::Extensions::DelayedMailer JID-4eb850367f8aec39032b8ee5 INFO: start

2013-04-16T11:29:49Z 14364 TID-ows844wu8 Sidekiq::Extensions::DelayedMailer JID-4eb850367f8aec39032b8ee5 INFO: fail: 30.345 sec

2013-04-16T11:29:49Z 14364 TID-ows844wu8 WARN: {

"retry"=>true,

"queue"=>"default",

"timeout"=>30,

"class"=>"Sidekiq::Extensions::DelayedMailer",

"args"=>["---\n

  • !ruby/class 'Devise::Mailer'\n

  • :unlock_instructions\n-

  • !ruby/object:User\n

    attributes:\n

    id: 5\n

    email: [email protected]\n

    encrypted_password: $2a$10$sqEWtyjRuUXMyE31k9f13uE17IO1WuRaqNgOOI6Smzxh3B85SenTq\n

    reset_password_token: \n

    reset_password_sent_at: \n

    remember_created_at: \n

    sign_in_count: 1\n

    current_sign_in_at: 2013-04-16 11:24:00.000000000 Z\n

    last_sign_in_at: 2013-04-16 11:24:00.000000000 Z\n

    current_sign_in_ip: 127.0.0.1\n

    last_sign_in_ip: 127.0.0.1\n

    created_at: 2013-04-16 10:31:14.000000000 Z\n

    updated_at: 2013-04-16 11:24:46.219896623 Z\n

    username: \n

    name: asdf\n

    adress: ''\n

    phone: '+46709771430'\n

    confirmation_token: \n

    confirmed_at: 2013-04-16 11:24:00.000000000 Z\n

    confirmation_sent_at: 2013-04-16 10:31:14.000000000 Z\n

    failed_attempts: 4\n

    unlock_token: Nn6ZtD4zFMMRRYqbZV5u\n

    locked_at: 2013-04-16 11:24:46.214709086 Z\n"],

"jid"=>"4eb850367f8aec39032b8ee5",

"error_message"=>"execution expired",

"error_class"=>"Timeout::Error",

"failed_at"=>"2013-04-16T11:25:16Z",

"retry_count"=>3,

"retried_at"=>2013-04-16 11:29:49 UTC}

2013-04-16T11:29:49Z 14364 TID-ows844wu8 WARN: execution expired

2013-04-16T11:29:49Z 14364 TID-ows844wu8 WARN: /usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/sendmail.rb:56:in `close'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/sendmail.rb:56:in `popen'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/sendmail.rb:56:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/network/delivery_methods/sendmail.rb:52:in `deliver!'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:2034:in `do_delivery'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in `block in deliver'

/usr/local/lib/ruby/gems/1.9.1/gems/actionmailer-3.2.9/lib/action_mailer/base.rb:415:in `block in deliver_mail'

/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/notifications.rb:123:in `block in instrument'

/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/notifications/instrumenter.rb:20:in `instrument'

/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/notifications.rb:123:in `instrument'

/usr/local/lib/ruby/gems/1.9.1/gems/actionmailer-3.2.9/lib/action_mailer/base.rb:413:in `deliver_mail'

/usr/local/lib/ruby/gems/1.9.1/gems/mail-2.4.4/lib/mail/message.rb:229:in `deliver'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/extensions/action_mailer.rb:23:in `perform'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/processor.rb:43:in `block (3 levels) in process'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:79:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:79:in `block in invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/timeout.rb:11:in `block in call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/timeout.rb:10:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:81:in `block in invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/active_record.rb:6:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:81:in `block in invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/retry_jobs.rb:49:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:81:in `block in invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/logging.rb:11:in `block in call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/logging.rb:22:in `with_context'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/server/logging.rb:7:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:81:in `block in invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:84:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/middleware/chain.rb:84:in `invoke'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/processor.rb:42:in `block (2 levels) in process'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/processor.rb:77:in `stats'

/usr/local/lib/ruby/gems/1.9.1/gems/sidekiq-2.5.4/lib/sidekiq/processor.rb:41:in `block in process'

/usr/local/lib/ruby/gems/1.9.1/gems/celluloid-0.12.3/lib/celluloid/calls.rb:57:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/celluloid-0.12.3/lib/celluloid/calls.rb:57:in `dispatch'

/usr/local/lib/ruby/gems/1.9.1/gems/celluloid-0.12.3/lib/celluloid/future.rb:18:in `block in initialize'

/usr/local/lib/ruby/gems/1.9.1/gems/celluloid-0.12.3/lib/celluloid/internal_pool.rb:48:in `call'

/usr/local/lib/ruby/gems/1.9.1/gems/celluloid-0.12.3/lib/celluloid/internal_pool.rb:48:in `block in create'


Solution

  • Answer found here. Simple FQDN problem.

    https://serverfault.com/questions/58363/my-unqualified-host-name-foo-bar-unknown-problem

    Edited my /ets/hosts with: 127.0.0.1 localhost.localdomain localhost

    Run $ hostname in terminal to get your hostname.