我有两个应用程序:Interface
是一个Rails应用程序,Processor
是用于bash脚本。
如果Interface
上的bash进程失败,我需要通知Processor
用户的会话。我可以访问Processor
上的命令行,因此我可以在http://interface.com/process/12/error/:error_message
上设置:error_message
时点击Processor
。
我不知道如何做到这一点。该路由可以在浏览器中使用,但我不知道如何使用错误消息重定向用户。
任何帮助都会很棒。
感谢。
答案 0 :(得分:1)
要回答这个问题,我将对您的设置做出一些假设。如果我没有,请纠正我。
我认为您的界面用户正在通过访问接口服务器上的http://interface.com/process/12/monitor
等页面来监控您的网站,并且您希望弹出错误消息让他们知道出了什么问题。
鉴于此,请考虑致电http://interface.com/process/12/error/:error_message
将错误存储在相关的 ProcessError 表中。然后,使用 monitor 页面上的javascript轮询接口服务器以查找“新”错误。轮询间隔实际上取决于具体情况。如果您是唯一的用户,那么每一秒都可以,但如果一次有很多监控用户,您可能希望延长轮询间隔。多长时间取决于负载以及快速通知用户的重要性。
推送解决方案会更有效率,但有点难以实现。如果这对您很有吸引力,请查看Faye,一个支持Rails服务器和html + javascript客户端的发布 - 订阅消息传递系统。
希望这能指引你朝着正确的方向前进!