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