【问题标题】: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)。

    我会考虑放弃这个宝石,考虑到:

    • only one version 的 gem 曾经发布过
    • gem 不再支持任何最新的 Rails 版本并且
    • gem 的源代码在last 3 years 中没有得到任何更新

    这意味着您的选择非常有限,因为期望 gem 的维护者提供任何更新似乎是不合理的。降级你的应用程序也不是一个选择,因为那样你就被锁定到一个不受支持的 Ruby on Rails 版本。

    我看到的仅有的两个选项是:

    1. fork gem 并自行将其更新为 Ruby on Rails 7.0。
    2. 切换到另一个ActiveJob worker 实现,比如Sidekiq

      鉴于 gem 似乎没有提供非常特别或独特的东西,分叉和接管维护感觉像是一种负担。因此,我建议切换到另一个 gem。 Sidekiq 无疑是当今最流行的,但还有其他替代方案,如 Resque 或 DelayedJob(请参阅Background Jobs on the Ruby Toolbox),根据您的要求值得考虑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      相关资源
      最近更新 更多