Tag: worker

Sidekiq错误:无法连接到服务器:没有这样的文件或目录

我遇到了我的sidekiq,heroku,redistogo,rails 4配置问题。 我在heroku上有1个dyno和1个worker。 我只是使用worker来获取外部api的请求。 这是我在Heroku日志中得到的错误: app[worker.1]: could not connect to server: No such file or directory app[worker.1]: connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”? app[worker.1]: Is the server running locally and accepting 这是我的config/initializers/sidekiq.rb if Rails.env.production? Sidekiq.configure_client do |config| config.redis = { url: ENV[‘REDISTOGO_URL’] } end Sidekiq.configure_server do |config| config.redis = { url: ENV[‘REDISTOGO_URL’] } Rails.application.config.after_initialize do […]

如何在heroku上的两个不同的应用程序之间共享工作者?

我有两个独立的应用程序在heroku上运行并指向相同的数据库,第一个负责user interface ,第二个用于admin interface ,我使用sidekiq和redis进行后台作业处理,我添加了一个工作者,我能够分享’ redis-server’通过设置环境变量指向相同的Redis提供Addon,现在我也希望共享worker,因为添加额外的worker会花费两倍。 请建议,这是否可能?

Heroku worker dyno上的进程之间的TCP套接字通信

我想知道如何在Heroku工作者dyno上的进程之间进行通信。 我们希望Resque工作者读取队列并将数据发送到在同一个dyno上运行的另一个进程。 “其他进程”是一种现成的软件,通常使用TCP套接字(端口xyz)来监听命令。 它被设置为在Resque工作程序启动之前作为后台进程运行。 但是,当我们尝试本地连接到该TCP套接字时,我们无处可去。 我们设置队列的Rake任务执行此操作: task “resque:setup” do # First launch our listener process in the background `./some_process_that_listens_on_port_12345 &` # Now get our queue worker ready, set up Redis backing store port = 12345 ENV[‘QUEUE’] = ‘*’ ENV[‘PORT’] = port.to_s Resque.redis = ENV[‘REDISTOGO_URL’] # Start working from the queue WorkerClass.enqueue end 这样做 – 我们的侦听器进程运行,Resque尝试处理排队的任务。 […]