我在rails项目目录中有一个普通的sidekiq工人。它应该充当侦听器,并在每次新数据出现在RabbitMQ队列中时触发。为了优化该项目,决定将来自RabbitMQ的消息侦听移到一个单独的过程中,然后从那里调用主项目中的工作人员。
问题是如何将任务从单独的进程发送到Rails sidekiq项目?
或者如果您有其他实现方法的想法,请告诉我
答案 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实例通信,就应该可以正常工作。