venat icon indicating copy to clipboard operation
venat copied to clipboard

Implement a Core Alert plugin with methods to use it from non-core plugins

Open MKhayle opened this issue 3 years ago • 3 comments

Describe the solution you'd like A Core feature to add an alert plugin system for automated, event & time-based triggers with methods to support external alerts from potential non-core plugins such as an Event plugin (#78) or a Weather plugin (#87).

Describe alternatives you've considered Implement it as a non-core plugin for alerts if considered unfit as a Core feature.

Additional context context

MKhayle avatar May 19 '22 14:05 MKhayle

This is a good idea, maybe we could wrap a proper scheduler along the lines of Quartz.NET, and let ~~plogons~~ modules register jobs with that wrapper.

karashiiro avatar May 19 '22 15:05 karashiiro

The only issue is that almost everything seems to use Redis exclusively as a backing store.

karashiiro avatar May 19 '22 15:05 karashiiro

I'm assuming that comparison table is a comprehensive list of well-maintained solutions (it may not be), which case we'd have a few options with different costs:

  1. Use something off-the-shelf. This is the easiest option, but it means adding another service to our deployment model.
  2. Use something off-the-shelf and find/create a translation layer that allows us to use postgres (this doesn't seem to exist, although the opposite does. Designing this would probably be more complex than it sounds.
  3. Create our own scheduler that can use postgres.

karashiiro avatar May 19 '22 16:05 karashiiro