Ben Sheldon [he/him]
Ben Sheldon [he/him]
@doxavore that's interesting! And I think I'm pretty reluctant to implementing that. Overall, I think I'm not sure about the applicability of the use-case to the level of effort to...
I have this idea churning away in the back of my mind. Still not planned, but thinking about it. The way I'm thinking it _could_ work would be for your...
Ooh, that's interesting! > Is there any reason why you don't? The reason upfront: the Dashboard is a work-in-progress and very YAGNI. So I appreciate you sharing: yes, you need...
Hmmm. Can you explain a bit more about the jobs? Are they doing I/O (Database, Network, File operations) or are they strictly Ruby (rendering templates, doing math)? I don't think...
Let me focus just on the explanation, though it sounds like it is not relevant if you're using LISTEN/NOTIFY and the cache. **If LISTEN/NOTIFY or the cache is disabled**... then...
To think some more about your case, I think it could be some combination of: - With 700k jobs on the queue, the fetch-and-lock query is taking a very long...
You might be hitting the limits of using Postgres as a jobs backend, as well as the limits of GoodJob's current Advisory Lock strategy. A couple of related links: -...
I think it's too many threads, but you should also increase your db pool size. You'll need ~38 threads for all of GoodJob (there's ~2-4 additional threads that can be...
I wanted to respond quickly on 1 item: > but also feels like this means something is fundamentally wrong, if it's true that you cache 10k jobs at any given...
Same same: ``` 1) GoodJob::Adapter#execute_async? when execution mode async_all returns true Failure/Error: expect(THREAD_ERRORS).to be_empty expected `[["GoodJob::Scheduler(queues=* max_threads=5)-worker-1", #, ["/home/runner/work/good_job/good_job/gemfiles/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'", "/home/runner/work/good_job/good_job/gemfiles/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async_exec'", "/home/runner/work/good_job/good_job/gemfiles/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:19:in `block (2 levels) in query'", "/home/runner/work/good_job/good_job/gemfiles/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:48:in `block...