My Discourse Jobs are stuck in queue. Not able to find solution

AI-generated summary

Users riderdivyanshu and Wolftallemo report that their Discourse jobs (emails, webhooks, notifications) are stuck in the queue after updates or server changes. riderdivyanshu notes the issue began after upgrading Discourse, while Wolftallemo experienced it after increasing instance memory — restarting Sidekiq temporarily cleared the queue but didn’t resolve it permanently. Both shared screenshots of the stuck “Busy” queue screen. RGJ asked what appears when clicking “Busy,” to which riderdivyanshu replied with another screenshot showing active workers. Wolftallemo also questioned whether 500MB RSS memory usage is normal for a small site with ~20 queued jobs, noting Sidekiq restarts due to memory pressure occur every 30–60 minutes. Andro asked how to access the Sidekiq screen, and NateDhaliwal clarified it’s located at /sidekiq. The issue appears to be related to Sidekiq worker stability or resource constraints post-upgrade or configuration change.

I am running discourse on a self-hosted server. Earlier it was working fine but when I updated the discourse to the latest one I saw my discourse jobs were tucked in the queue for a very long time and not processed.

All the email, webhook, and notification jobs are stuck. Can anyone have any idea how to fix this since I am not to get what is wrong?

What do you see when you click the “Busy” link?

@RGJ
This is screen showing which is visible when I click on the busy screen

I am now having the same issue, but in my case it started happening after I increased the memory on my instance. I restarted the sidekiq process which did clear out the queue, but that wasn’t a permanent solution unfortunately.

The only logs that exist are sidekiq restarting because of a lack of memory (also is 500MB RSS normal for a small site with ~20 jobs in queue?) but those are spaced 30-60 minutes apart so I doubt that has much relation.

Screenshot of my busy queue:

How to show this Sidekiq screen?

IIRC that’s in /sidekiq.