A user, MHR, reported that their webhooks stopped working without any error in the Discourse logs. After troubleshooting, MHR found that the Sidekiq queue was filled with webhook events in the scheduled list. It was later discovered that Sidekiq was paused, likely due to a failed backup.
codinghorror explained that Sidekiq is paused during backups, but if the backup fails, Sidekiq is never unpaused. However, tgxworld clarified that this issue has been fixed, and Sidekiq will always be unpaused, even if the backup fails.
MHR was advised to update to the latest version of Discourse, as they were running an outdated version. codinghorror also discussed the decision to pause Sidekiq during backups, which can cause issues with notifications and user experience.
The discussion concluded with sam explaining the intention behind pausing Sidekiq during backups and tgxworld announcing a fix to ensure Sidekiq is always unpaused after a backup.
We have a setup for both Topic Event / Post Event webhooks, which was working fine.
But suddenly it stopped working and on any Topic Event or Post Event no webhook was sent.
We have checked for Discourse log also but there is no error.
So is there any way we can troubleshoot this issue?
What happens is sidekiq is paused during backup, but if backup fails, sidekiq is never unpaused. Didn’t you make a bunch of improvements here recently @tgxworld?
This “pause sidekiq during backups” decision is the source of considerable trauma @tgxworld. Especially for giant backups going to slow offsite network dumps, or if something goes wrong with the backup and it never “finishes”, etc.. users don’t get notifications and so on because Sidekiq is paused, and the longer this goes on.. the worse the effects are on users.
Why did we make this decision to pause Sidekiq during backups? do you remember @sam?
One reason is that if sidekiq is running, the backup can fail because an upload gets deleted when tar is running. But maybe having a backup fail isn’t that bad.