我不太明白。
根据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
代码无聊且难看。肯定有更好的选择。
感谢任何帮助!