我们有一个通知,它将使用应用程序端点将数据发布到应用程序。
notification ABC{
post = savedetailsurl
body = {{.|json}}
useBody = true
}因此,端点将在mysql DB中保存所有详细信息。
现在,在我们的模板中,我们调用另一个端点来获取我们在通知中使用webhook保存的详细信息。
template ABC {
use the " getDetailsUrl" and use the details in forming the email
}现在的问题是竞态条件。有时后台(mysql)还没有保存详细信息,会调用getDetailsUrl。所以我们得到的结果是空的。
有没有办法解决竞态问题。
发布于 2017-03-16 02:12:47
博森的通知系统被设计成非常基础的。如果您需要更高级的功能,则需要使用单独的系统来生成通知详细信息和/或处理警报工作流。有些人使用页面任务或其他监控系统(如Shinken )来执行更高级的通知或警报管理。
最好的办法是跳过内置通知,在外部系统中执行所有操作。您仍然可以使用http://bosun.org/api与各种警报状态(crit/warn/ack/close/等)集成,或者您可以更改警报以使用log = true绕过所有内置状态并创建您自己的工作流。
https://stackoverflow.com/questions/42510532
复制相似问题