【问题标题】:Is that any ways to run pg_jobs gem in rails 7?有什么方法可以在 Rails 7 中运行 pg_jobs gem 吗?
【发布时间】:2023-02-09 15:26:01
【问题描述】:
我们正在使用pg_jobsgem 用于我们的 rails 5 应用程序,但现在我们正在尝试使用 rails 7 升级我们的应用程序......在那个地方,我们面临着一些问题,比如无法捆绑pg_jobs在 rails 7 中,因为它仅支持 rails 5,所以无法运行 bundle install。
我们试图改变的版本pg_jobs宝石然后我们也面临着同样的错误。
这是错误:
**Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (~> 7.0.4)
pg_jobs was resolved to 0.1.0, which depends on
rails (< 6.0, >= 5.1)```
**
【问题讨论】:
标签:
ruby-on-rails
ruby
rubygems
gemfile
ruby-on-rails-7
【解决方案1】:
pg_jobs gem 的最新版本(截至今天)甚至还不支持 Ruby on Rails >= 6.0(请参阅 Rubygems)。
我会考虑放弃这个宝石,考虑到:
这意味着您的选择非常有限,因为期望 gem 的维护者提供任何更新似乎是不合理的。降级你的应用程序也不是一个选择,因为那样你就被锁定到一个不受支持的 Ruby on Rails 版本。
我看到的仅有的两个选项是:
- fork gem 并自行将其更新为 Ruby on Rails 7.0。
- 切换到另一个
ActiveJob worker 实现,比如Sidekiq。
鉴于 gem 似乎没有提供非常特别或独特的东西,分叉和接管维护感觉像是一种负担。因此,我建议切换到另一个 gem。 Sidekiq 无疑是当今最流行的,但还有其他替代方案,如 Resque 或 DelayedJob(请参阅Background Jobs on the Ruby Toolbox),根据您的要求值得考虑。