【发布时间】:2013-04-21 18:59:18
【问题描述】:
我不明白。
根据 Sidekiq 文档,每个 worker(我的称为 FeedWorker)只能包含一个称为 perform 的方法。那么,如果我想通过同一个 worker 运行多个方法呢?
例如,我的 FeedWorker(你猜对了,它处理活动提要)应该运行以下 3 个方法:
announce_foo
announce_bar
invite_to_foo
我不认为这是一个不合理的期望。我相信其他人已经考虑过这一点。我不是天才,但我知道我在这里的期望并没有开辟新天地。但目前尚不清楚如何做到这一点。
现在,看来我必须这样编码:
def perform(id, TYPE)
if TYPE == BAR
Bar.find(id) and_announce_bar
else
Foo.find(id) and_announce_foo
end
end
无聊而丑陋的代码。那里一定有更好的。 任何帮助表示赞赏!
【问题讨论】:
-
您能否链接到您找到此类声明的文档页面?
标签: ruby-on-rails redis worker sidekiq