Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从两台Rails服务器在Sidekiq中排队并运行作业_Ruby On Rails_Redis_Sidekiq - Fatal编程技术网

Ruby on rails 从两台Rails服务器在Sidekiq中排队并运行作业

Ruby on rails 从两台Rails服务器在Sidekiq中排队并运行作业,ruby-on-rails,redis,sidekiq,Ruby On Rails,Redis,Sidekiq,我有两个服务器:web服务器(前端)和分析服务器(后端)。我需要通过Sidekiq将作业从前端服务器传递到后端服务器 我的想法是: 在web服务器和后端服务器中安装Sidekiq。我现在有前端Sidekiq和后端Sidekiq 配置前端Sidekiq,使其指向后端Sidekiq的Redis服务器。换句话说,两个Sidekiq共享同一个Redis数据库服务器 现在,我需要将一个作业从前端Sidekiq排队,然后从后端Sidekiq执行一个代码 我应该怎么做呢?Sidekiq是一个分布式消息传递队列

我有两个服务器:web服务器(前端)和分析服务器(后端)。我需要通过Sidekiq将作业从前端服务器传递到后端服务器

我的想法是:

  • 在web服务器和后端服务器中安装Sidekiq。我现在有前端Sidekiq和后端Sidekiq
  • 配置前端Sidekiq,使其指向后端Sidekiq的Redis服务器。换句话说,两个Sidekiq共享同一个Redis数据库服务器
  • 现在,我需要将一个作业从前端Sidekiq排队,然后从后端Sidekiq执行一个代码


    我应该怎么做呢?

    Sidekiq是一个分布式消息传递队列,它的全部用途是用于您描述的用例。只需设置一个队列供前端读取,一个队列供后端读取。从前端队列读取时,请将其插入后端队列。

    这并不能直接回答您的问题,因此我将其作为注释发布。让多个应用程序共享同一个数据库(尤其是在写模式下)通常是个坏主意,因为这将很快或稍后导致不可预测和不可生产的竞争条件和依赖关系。难道你不能在后端应用程序上设置一个API,前端应用程序调用该API将任务排队吗?