1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/5.0-Upgrade.md
Mike Perham ed485e47e4 Make Sidekiq Web UI RTL-friendly (#3381)
* Unminify rickshaw graph CSS so we can maintain it

* Initial BiDi support for the Web UI

BiDi means the web app can serve both LTR and RTL languages at the same time.

1. Bootstrap-RTL overrides Bootstrap 3.3 styles for RTL clients
2. Application CSS was preprocessed thru rtlcss and then hand-trimmed to contain only RTL-specific directives.
3. Dashboard was tweaked to hardcode LTR for footer and polling gadget

* Vendor bootstrap-rtl.css

* Various RTL style fixes, need to flip all pull-* elements

* Upgrade Rickshaw to latest, remove dupe CSS

* Add Arabic language (credit to Milena Novakova)
Add Hebrew placeholder
Added dir attribute to html tag

* changes

* Clean up HTTP header generation, add Content-Language response header

* Use correct locale for hebrew
2017-03-16 13:51:29 -07:00

2.4 KiB

Welcome to Sidekiq 5.0!

Sidekiq 5.0 contains a reworked job dispatch and execution core to integrate better with the new Rails 5.0 Executor. It also drops support for older versions of Ruby and Rails.

What's New

  • Integrate the job logging and retry logic directly in with the job execution logic in Sidekiq::Processor. Previously this logic was defined as middleware. In Rails 5.0, ActiveSupport::Executor handles ActiveRecord connection management, job callbacks, development mode class loading, etc. Because of its extensive responsibilities, the Executor can't be integrated as Sidekiq middleware; the logging/retry logic had to be pulled out too. Sidekiq 4.2 had a hack to make it work but this redesign provides a cleaner integration. [#3235]

  • The Delayed Extensions delay, delay_in and delay_until APIs are no longer available by default. The extensions allow you to marshal job arguments as YAML, leading to cases where job payloads could be many 100s of KB or larger if not careful, leading to Redis networking timeouts or other problems. As noted in the Best Practices wiki page, Sidekiq is designed for jobs with small, simple arguments.

    Add this line to your initializer to re-enable them and get the old behavior:

    Sidekiq::Extensions.enable_delay!
    

    The old Sidekiq.remove_delay! API has been removed as it is now the default. [#3299]

  • Sidekiq's quiet signal is now TSTP (think of it as Thread SToP) instead of USR1 as USR1 is not available on JRuby. USR1 will continue to be supported in Sidekiq 5.x for backwards compatibility and will be removed in Sidekiq 6.x. [#3302]

  • The Web UI is now bi-directional - it can render either LTR (left-to-right) or RTL languages. With this change, Farsi, Arabic and Hebrew are all now officially supported! [#3381]

  • Rails 3.2 is no longer supported.

  • Ruby 2.0 and Ruby 2.1 are no longer supported. Ruby 2.2.2+ is required.

  • Jobs which can't be parsed due to invalid JSON are now pushed immediately to the Dead set since they require manual intervention and will never execute successfully as is. [#3296]

Upgrade

As always, please upgrade Sidekiq one major version at a time. If you are already running Sidekiq 4.x, then:

  • Upgrade to the latest Sidekiq 4.x.
gem 'sidekiq', '< 5'
  • Fix any deprecation warnings you see.
  • Upgrade to 5.x.
gem 'sidekiq', '< 6'