We have been working to address them upstream, however even once addressed there are some design issues that we need fixed as well.
Recently, I was debugging erratic perf issue with @supermathie here and found a second serious issue.
Sidetiq always schedules every job at exactly the same time, this leads to periods where the same job on every site we host runs at the same time leading to network saturation.
I have been building a light weight scheduler to address the perf and scheduling issues. I expect to have it done today.
So, this is just an upfront warning that the scheduler is changing, if you notice any new issues with scheduled jobs please let me know.
Yes. We also want to have a âhowto convert from regular to Docker installâ posted soon. @sam has done a number of conversions from old-style Discourse install to new Docker installs now and has documented the process internally.
@zogstrip and @sam are working on necessary import/export improvements and once that is ready, it should go up.
Hitting the âTriggerâ button on for instance âVersion Checksâ results in a screen showing âInternal Server Errorâ and this in the logs:
ArgumentError - comparison of Class with Class failed:
/var/www/discourse/lib/scheduler/web.rb:10:in `sort'
/var/www/discourse/lib/scheduler/web.rb:10:in `block (2 levels) in registered'
/var/www/discourse/vendor/gems/rails_multisite/lib/rails_multisite/connection_management.rb:45:in `with_connection'
/var/www/discourse/lib/scheduler/web.rb:8:in `block in registered'
From that moment on, the scheduler screen is broken (keeps showing âInternal Server Errorâ until Sidekiq is restarted.
is there anything custom in your initializer, you are going to need to trace through the sidekiq initializer to see why its not doing an initial enqueue of the jobs
Removing the key âdefault:_scheduler_Jobs::VersionCheckâ fixes the Internal Server Error
127.0.0.1:6379> get "default:_scheduler_Jobs::VersionCheck"
"{\"next_run\":1391979510,\"prev_run\":1391893854,\"prev_duration\":327,\"prev_result\":\"OK\"}"
127.0.0.1:6379> del "default:_scheduler_Jobs::VersionCheck"
(integer) 1