我正在阅读sidekiq基础知识,并且我在理解sidekiq如何在生产环境中工作时遇到一些概念性问题。
假设我有两个独立的ruby应用程序,一个rails,一个sinatra。我怎么能在两个应用程序之间共享一个sidekiq进程?这可能吗?
基础知识说明:“Sidekiq客户端在您的Web应用程序进程中运行(通常是Rails独角兽或乘客进程),并允许您将作业推送到后台进行处理”这是否意味着这个用例不可能?
每个ruby应用程序是否都需要用户运行:bundle exec sidekiq -C sidekiq.yml
答案 0 :(得分:1)
我认为您不能共享相同的Sidekiq服务器进程。实际上,该过程将加载您的应用程序环境以便访问模型和库,例如,无法与两个Rails应用程序共享该过程。
但是,如果需要,可以将两个实例配置为share the same database。
客户端进程在Web应用程序请求中运行,因此确保您无法共享它。