从单独的过程中调用sidekiq worker

时间:2018-08-09 12:27:02

标签: ruby-on-rails ruby rabbitmq sidekiq

我在rails项目目录中有一个普通的sidekiq工人。它应该充当侦听器,并在每次新数据出现在RabbitMQ队列中时触发。为了优化该项目,决定将来自RabbitMQ的消息侦听移到一个单独的过程中,然后从那里调用主项目中的工作人员。

问题是如何将任务从单独的进程发送到Rails sidekiq项目?

或者如果您有其他实现方法的想法,请告诉我

2 个答案:

答案 0 :(得分:2)

以下是Sidekiq可以理解的将工作推送到Redis的方法:

<?php
   $files = glob('audio/2008/*.*');
   foreach($files as $file) {
   if (! is_dir($file)) {
   $file = pathinfo($file);
    echo "<div class='col-lg-4 col-md-4 col-sm-6 col-xs-12'><a href='audio/2008/" . $file['basename'].'>" . $file['filename'] . "</a></div>";
    }
   }
?>

https://github.com/mperham/sidekiq/wiki/FAQ#how-do-i-push-a-job-to-sidekiq-without-ruby

答案 1 :(得分:0)

Sidekiq通过Redis中的队列管理任务。只要两个进程都与同一个Redis实例通信,就应该可以正常工作。