jondot / sneakers

A fast background processing framework for Ruby and RabbitMQ
https://github.com/jondot/sneakers
MIT License
2.24k stars 333 forks source link

rake sneakers:run fails on Rails 6, new default code loader related issue. #396

Closed gaotongfei closed 4 years ago

gaotongfei commented 5 years ago

When running rake sneakers:run on Rails 5 application without specify WORKERS environment variable, sneakers will look for the Sneakers::Worker::Classes, which is appended when include Sneakers::Worker in class.

This works on Rails 5 app. However, Rails 6 changed its default code loader to zeitwerk, running sneakers rake task won't load workers class.

sneakers-run

This can be fixed by adding

::Zeitwerk::Loader.eager_load_all if defined?(::Zeitwerk)

in lib/sneakers/tasks.rb file.

Any thought? Would a PR be welcomed?

gabrieljoelc commented 4 years ago

Yes thank you for letting us know. A backwards compatible PR would be very welcome. 😄