cachethq / cachet

🚦 The open-source status page system.
https://cachethq.io
MIT License
14.01k stars 1.56k forks source link

No Emails for Scheduled Maintenance #4242

Closed kersthien closed 1 year ago

kersthien commented 3 years ago

Hi,

we have an issue with Cachet 2.4. It doesn't send emails for Scheduled Maintenance, if you did not subscribe to all components.

Could you please help here?

Thank you and best regards, Kerstin

welcome[bot] commented 3 years ago

:wave: Thank you for opening your first issue. I'm just an automated bot that's here to help you get the information you need quicker, so please ignore this message if it doesn't apply to your issue. If you're looking for support, you should try the Slack group by registering your email address at https://cachethq-slack.herokuapp.com. Alternatively, email support@alt-three.com for our Professional support service (please note, this a paid service.) If you're issue is with documentation, you can suggest edits by clicking the Suggest Edits link on any page, or open an issue at https://github.com/CachetHQ/Docs

Lurkars commented 3 years ago

For me maintenance mails not send at all, even for subscribers of all components.

Edit: as stated out by @pavog it was an issue with my queue setup (just forgot to enable on reboot), so my bad.

pavog commented 3 years ago

For me maintenance mails not send at all, even for subscribers of all components.

Hello, as scheduled maintenance email notifications are queued, you need to run the queue worker to send the emails. You can start the worker with the Artisan command php artisan queue:work. Alternatively, you can set up a supervisor to (re)start the queue worker. See Laravel:Queues documentation for more information on supervisor and queues.

I found this page on the docs: Configuring the Queue

pavog commented 3 years ago

So: The SendScheduleEmailNotificationHandler only sends notifications to subscribers who have subscribed globally (for all components), as you can see here. I think there was a feature planned that would allow you to create scheduled maintenance only for specific components, like you can do with incidents. But this feature was never implemented.

We have two ways to solve this problem:

  1. Remove the isGlobal() filter from the subscriber list to send scheduled maintenance notifications to all subscribers (regardless of whether they subscribe to a specific component or all components).
  2. Implement the function to schedule maintenance for specific components only, and add the function to notify the remaining component-specific subscribers, as in SendIncidentEmailNotificationHandler
jbrooksuk commented 1 year ago

Thank you for your input on Cachet 2.x. We are shifting our attention and resources to Cachet 3.x and will no longer be supporting the 2.x version. If your feedback or issue is relevant to the 3.x series, we encourage you to engage with the new branch.

For more information on the Cachet rebuild and our plans for 3.x, you can read the announcement here.

We appreciate your understanding and look forward to your contributions to the new version.