As I mentioned in github issues:
If SqlTask just inserts an alert data to table, what's the status of this task 
should be? succeed or running?
After all, sending email is the main logic of SqlTask, right ? if email sent by 
alert server, how to guarantee emails send successfully ?
So no matter where the logic, SqlTask should always send email synchronously


On 2020/8/5, 11:52, "zhangchunyang" <[email protected]> wrote:

    The issues is 
https://github.com/apache/incubator-dolphinscheduler/issues/3251

    At 2020-08-05 11:36:02, "zhangchunyang" <[email protected]> wrote:
    >In this feature, we will put the function of sending email into the alert 
email plugin. But I found that SqlTask directly calls the code for sending 
emails. As a result, after the email function was moved to the 
dolphinscheduler-alert-email module, SqlTask could no longer call the email 
code.
    >
    >How should we deal with this situation?
    >
    >Should SqlTask send emails directly instead of through alert services? If 
SqlTask should send notifications through the alert server, then the alert 
server should provide something for SqlTask to call.
    >
    >If you think that SqlTask should send notifications through the alert 
service, then I have a few ideas. You can discuss which is more appropriate:
    >
    >Alert server provides grpc interface or http interface, SqlTask calls 
these interfaces to send notifications.
    >
    >SqlTask directly inserts an alert data into the table t_ds_alert, and then 
the alert server will automatically send a notification asynchronously.
    >
    >I think the first solution is better
    >In this way, tasks can be synchronized to know whether the message was 
sent successfully or not, and can be fault-tolerant based on the results
    >
    >Do you have any suggestions?

Reply via email to