[英]How to call sidekiq perform fuction after every five minutes in rails
[英]how update a view every five minutes in rails
我有一个StartMonitor
按钮,在用户按下此按钮后,我将每5分钟开始检查一次当前的可用内存。 这意味着该视图应每5分钟更新一次,以显示到目前为止的所有数据 。 我可以获取数据,但是我不知道如何更新视图。 您会推荐什么?谢谢。
您将必须主动从客户端轮询。 渲染视图后,与客户端的连接将丢失。 您不能从服务器端将信息推送到浏览器。
每隔5分钟使用JavaScript或带有“重新加载”的元标记重新加载视图。 例如
<meta http-equiv="refresh" content="300;url=/controller/action/id">
如果您重新加载整个页面(通过JS或Meta-Tag)并且重新加载失败(例如服务器忙错误),则您的重新加载代码将不再执行,因为浏览器现在显示的错误页面不包含您的重新加载代码。 例如
我建议使用AJAX更新div并自行处理错误事件(忽略,重试,通知用户。任何适合您的需求)。 那应该是一个垃圾解决方案。
periodically_call_remote(:url => 'update', :frequency => '300', :update => { :success => "ok", :failure => "error" }
您实际上有几种方法可以做到这一点
一个是建议的“ phisch”
另一个将使用更新的Ajax(您可以使用rails默认的ajax库进行此操作)
代码示例是
'message_div',:url => {:action =>'message'},:frequency =>'20'%>其中'message_div'是更新div操作->是控制器操作,而频率是更新频率(以秒为单位)
希望这可以帮助
欢呼声,sameera
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.