weixiaonan1 commented on issue #14832:
URL:
https://github.com/apache/dolphinscheduler/issues/14832#issuecomment-1698919134
> Why we don't directly use alert module?
Althougn the Alert module and Listener module have similarities in specific
scenarios, such as both supporting to notify users about the execution results
of workflows/tasks througn various plugins, there are several key differences:
1. **Purpose:**
- **Alert Module:** The Alert module is designed specifically to inform
users about the execution results of individual workflows or tasks (which
specfied by the user when running the workflow). The content and format of
Alert are fixed. Alerts are sent directly to users via emails, Telegram, Ding
Talk, etc.
- **Listener Module:** The Listener module is designed for third-party
systems to monitor and manage DolphinScheduler. The listener instances are
global which are not limited to specific workflows/tasks, so in addition to the
workflow/task related events like workflowStartEvent, workflowFailedEvent,
etc., it also provides system-wide events like serverDownEvent,
workflowAddedEvent, etc. Users can customize the format and content of
messages based on listener events. The messages are sent to Kafka, RabbitMQ,
external system interfaces, etc
2. **Flexibility and Extensibility:**
- **Alert Module:** Alert Plugins are build-in. When creating a new
alert plugin, modifications to source code, repackaging, and service restarts
are required. The content and format of Alert are fixed.
- **Listener Module:** The listener module offers more flexbility. We
can create a separate project to develop new plugins depended on a single
module(`dolphinsheduler-dolphinsheduler-common`) , without modifying the source
code. Listener plugins can be installed, updated, or uninstalled online without
restarting the server. The listener module also provide more flexibility and
convenience to customize the message formats and processing methods.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]