草庐IT

mysql - 是否可以在没有 redis 的情况下使用 resque/Sidekiq/rails-jobs(使用 MySql)

我的服务器非常有限,需要后台工作人员的RoR项目。速度不是那么重要,我猜这是使用Redis的主要原因,但最主要的是,服务器不能有Redis数据库,所以有可能吗(即使是monkey-patch也可以),它允许使用任何Rails后台作业方法来使用MySql运行,无论是Resque(首选)、Sidekiq还是Rails内置? 最佳答案 Delayed::Job(orDJ)encapsulatesthecommonpatternofasynchronouslyexecutinglongertasksinthebackground....Ac

ruby-on-rails - 错误 : heartbeat: Connection lost (ECONNRESET) in sidekiq

我正在尝试在Rails5.2上运行Sidekiq5.2.2,但我总是收到连接丢失错误。以下是我的服务器日志:#bundleexecsidekiq-qv2_default,2-qv2_low-eproductionTID-2yed0INFO:BootingSidekiq5.2.2withredisoptions{:url=>"redis://myserver.lmf979.0001.apse1.cache.amazonaws.com:6379/1",:network_timeout=>7,:id=>"Sidekiq-server-PID-3644"}TID-2yed0INFO:Runni

ruby-on-rails - 配置多个服务器以支持sidekiq

我计划将redis服务器迁移到运行sidekiq的新服务器,但不想停止当前正在运行的应用程序。而且我不想使用仍然是alpha版本的redis集群。我的想法是让sidekiq写入新的redis服务器,但是从它们两个中拉取,这样一旦旧redis中的工作人员完成,新的就可以完全接管所有工作人员。我认为这个解决方案是可行的,但我不知道如何实现它。这是我的sidekiq.rb:sidkiq_config=YAML.load(ERB.new(Rails.root.join('config/redis.yml').read).result)Sidekiq.configure_serverdo|con

ruby-on-rails - 删除带有特定参数的 Sidekiq 作业?

假设在某个时候我排队了一个看起来像这样的工作:HardWorker.perform(command_id,user_id)有什么方法可以删除所有与特定command_id关联的作业(从Redis队列中)? 最佳答案 command_id='commandidtodelete'queue=Sidekiq::Queue.new('the_queue_name')queue.eachdo|job|ifjob.klass=='HardWorker'&&job.args.first==command_idjob.deleteendend

ruby-on-rails - 如何使用 Sidekiq 每 2 秒发送一次请求?

我有工作人员向服务器发送请求并检查是否存在文件。现在worker在指定的时间运行:CheckFileWorker.perform_in(@target_file.check_start_date,@target_file.url)我想每2秒运行一次worker。我该怎么做?可能需要第二个Worker来启动第一个Worker? 最佳答案 我正在使用Sidetiq来安排重复出现的后台作业(https://github.com/tobiassvn/sidetiq)。基本上你应该做类似的事情:classLicenseCheckerWorke

ruby - Sidekiq 使作业入队,而不是使它们出队

出于某种原因,Sidekiq没有为我运行任何作业。它可以很好地将它们排入队列,但永远不会将它们移出队列。我已经确认redis正在运行:psaux|grepredisroot27560.00.01406122656?SlSep030:36redis-server*:6379root74890.00.0110284840pts/0S+09:190:00grepredis我已经确认Sidekiq正在运行:psaux|grepsidekiqroot67320.11.92527436148000?Sl09:040:03sidekiq3.2.1CompleteSet-Rails[0of25busy

redis - Heroku 崩溃(似乎是 Sidekiq/Redis )

在Heroku上启动应用程序时出现以下问题:2018-02-20T23:55:19.456182+00:00heroku[worker.1]:Startingprocesswithcommand`bundleexecsidekiq-eproduction-Cconfig/sidekiq.yml`2018-02-20T23:55:20.180974+00:00heroku[worker.1]:Statechangedfromstartingtoup2018-02-20T23:55:23.590432+00:00app[worker.1]:4TID-78no8INFO:BootingSid

ruby-on-rails - ActiveJob 未出现在 Sidekiq 队列中

ActiveJob分配似乎没有出现在sidekiq队列中。但作业仍会执行。这是我在config/environments/production.rb中的active_job设置config.active_job.queue_adapter=:sidekiqconfig.active_job.queue_name_prefix="faces_#{Rails.env}"我的sidekiq.yml通过Capistrano加载。---:concurrency:5:queues:-defaultproduction::concurrency:20:queues:-faces_production

redis - Sidekiq - 重新安排失败的工作

我有一个后台工作,使用Sidekiq连接到我的另一个服务,如下所示:defperform(id)user=ABCClient.instance.user(id)...end有时这个ABCClient挂了,在这种情况下我想重新安排“执行”工作。像这样:defperform(id)beginuser=ABCClient.instance.user(id)rescue=>e#Reschedulejobend...end 最佳答案 https://github.com/mperham/sidekiq/wiki/Scheduled-Jobs救

ruby-on-rails - Sidekiq 卡住应用程序

所以,我有一个代码,是rake任务的一部分:classDrivingStatJob:driving_stats,:backtrace=>truedefperform(work_order_id)Rails.logger.info"Calculatingdrivingstatsforwork_order#{work_order_id}"beginwork_order=WorkOrder.find(work_order_id)returnunlesswork_order.steps.size>1DrivingStat.calculate!(work_order.steps.first.lo