我试图在我的应用程序中使用Sidekiq,但是由于某种原因,我得到了一个undefined local variable or method "worker" for #<SolutionController:0xb55bc358>

我为Sidekiq Web UI安装了sidekiq,sinatra和slim,它没有注册任何东西。 我现在确实在另一个终端窗口中运行了sidekiq。

工人电话:

worker.perform_async(@user)

我的工人:

# app/workers/worker.rb

    class worker
    include Sidekiq::Worker
    sidekiq_options retry: false

    def perform(s_user)

        user = $client.user_timeline(s_user, exclude_replies: 1,include_rts: 1 ).take(10)
        user.each do |t|
        array_list   = $client.retweeters_of(t.id)
        end
        limited_list = array_list

        array = []
        hash  = {}

        limited_list.each do |g|

            hash = {:key => g.followers_count, :value => g.profile_image_url.to_s}
            array.push(hash)

        end

        array.sort_by! {|h| h[:key]}
        array.reverse!
        final = array.take(10)


    $redis.set("#{hash[:value]}", "#{hash[:value]}")
    end
end

谢谢

===============>>#1 票数:0

我建议使用适当的大小写一些更具描述性的名称。 尝试将类重命名为MyWorker ,将文件重命名为my_worker.rb并调用MyWorker.perform_async(@user)

  ask by Raghav Kanwal translate from so

未解决问题?本站智能推荐:

关注微信公众号