小编use*_*139的帖子

Redis 如何与 Rails 和 Sidekiq 配合使用

问题:需要从 Rails 异步发送电子邮件。环境:Windows 7、Ruby 2.0、Rails 4.1、Sidekiq、Redis

设置完所有内容后,启动 Sidekiq 并启动 Redis,我可以通过监视器看到排队到 Redis 的邮件请求:

1414256204.699674 "exec"
1414256204.710675 "multi"
1414256204.710675 "sadd" "queues" "default"
1414256204.710675 "lpush" "queue:default" "{\"retry\":true,\"queue\":\"default\",\"class\":\"Sidekiq::Extensions::DelayedMailer\",\"args\":[\"---\\n- !ruby/class 'UserMailer'\\n- :async_reminder\\n- - 673\\n\"],\"jid\":\"d4024c0c219201e5d1649c54\",\"enqueued_at\":1414256204.709674}"
Run Code Online (Sandbox Code Playgroud)

但邮件程序方法似乎永远不会被执行。邮件未发送,也未显示任何日志消息。

Redis 如何知道要执行队列上的作业,以及是否需要在环境中设置其他内容才能知道应用程序驻留在何处?

Delayed_job 是更好的解决方案吗?

我在一个窗口中启动redis,在另一个窗口中启动bundle exec sidekiq,在第三个窗口中启动rails server。

Redis 队列中的项目如何被拾取并处理?sidekiq 是否既将内容放入 Redis 队列中,又检查是否添加了需要处理的内容?

ruby-on-rails actionmailer redis

5
推荐指数
1
解决办法
2729
查看次数

标签 统计

actionmailer ×1

redis ×1

ruby-on-rails ×1