happypeter / bitcoin_basics

快乐新知比特币
http://happypeter.github.io/bitcoin_basics/
8 stars 3 forks source link

peatio: rabbitmq mailer #41

Closed happypeter closed 9 years ago

happypeter commented 9 years ago

没有配置 rabbitmq 的时候,注册就爆出一个错误:

I, [2014-10-04T07:32:13.668596 #9094]  INFO -- :   Rendered token_mailer/activation.html.erb within layouts/mailers/application (2.3ms)
I, [2014-10-04T07:32:13.707903 #9094]  INFO -- :
Sent mail to happypeter1983@gmail.com (32.1ms)
I, [2014-10-04T07:32:13.712031 #9094]  INFO -- : Completed 500 Internal Server Error in 326ms
F, [2014-10-04T07:32:13.714380 #9094] FATAL -- :
SocketError (getaddrinfo: Name or service not known):
  app/models/amqp_queue.rb:94:in `deliver!'
  app/models/amqp_queue.rb:88:in `rescue in deliver'
  app/models/amqp_queue.rb:84:in `deliver'
  app/models/token.rb:36:in `send_token'
  app/models/member.rb:168:in `send_activation'
  app/models/member.rb:92:in `create_from_auth'
  app/models/member.rb:40:in `from_auth'
  app/controllers/sessions_controller.rb:17:in `create'
  lib/security_middleware.rb:10:in `call'
happypeter commented 9 years ago

async 的架构

amqp_queue.rb:79

AMQPQueue.enqueue(:email_notification, mailer_class: @mailer_class.to_s, method: @method_name, args: @args)

broker: rabbitmq

daemons/amqp_daemon.rb

ARGV.each do |id| # ARGV 中包含 :email_notification

最后执行发送是:worker/email_notification.rb

这样启动后台任务的时候应该就启动一个就行了:bundle exec rake daemon:notification:start

happypeter commented 9 years ago

Rails.logger 看一下 daemon 中的信息

现在用的是 daemon-rails 怎么看 daemon 的 logger?

ps aux|grep peatio 可以查看所有的 daemon 进程。