一:在rails5中推出了ActionCable来实现消息的websoket推送
参考链接
https://ruby-china.org/topics/28935
https://ruby-china.org/topics/30494
https://ruby-china.org/topics/28480
二:在某些使用场景下页可以考虑js定时轮询刷新的方式去做。(比如强制点击处理,消息才会不再弹出。)
下边分享一段,用redis缓存消息记录,当点击才会取消显示,但只有真正处理才会改变状态的代码。
# 数据库查询消息
def not_opration_message
_employee_id=current_employee.id
@not_opration_message = Message.where("employee_id=? and state=0",_employee_id) #查询所有未处理的消息
render :layout=> false
end
# 数据库处理消息
def deal_with_system_message
_employee_id=current_employee.id
_messages=Message.where("id=?",params[:id]) #查询所有未处理的消息
_message.update_all(:state=>1) #已处理
render :json => true
end
# 缓存处理消息
def delete_system_message
_employee_id=current_employee.id
redis=Redis::HashKey.new("user_#{_employee_id}")
redis.delete(params[:url])
render :json => true
end
# 缓存个人所有消息
def system_message
_employee_id=current_employee.id
redis=Redis::HashKey.new("user_#{_employee_id}")
if redis.blank?
render :json=> nil
else
render :json=> redis.to_json
end
end
#订单确认通知,创建消息并缓存
def self.tell_customer_order_confirm customer_order
customer_order_detail = customer_order.order_details_userful
customer_order_detail.each do |detail|
Message.create(message:"#{customer_order.order_no} 客户订单已确认,通知供应商发货", url:"/admin/order_list?order_no=#{customer_order.order_no}",state:0,employee_id:detail.emp)
message_hash = Redis::HashKey.new("user_#{detail.emp}")
message_hash["/admin/order_list?order_no=#{customer_order.order_no}"] = "#{customer_order.customer_order_no} 客户订单已确认,通知供应商发货"
end
end
分享到:
相关推荐
4、内置网站优化功能SEO优化:系统后台可以设置伪静态、设置HTML静态缓存策略、搜索引擎优化设置、常用搜索引擎登录入口、生成网站地图、生成关键词内链、百度自动推送 功能模块: 功能列表 核心功能:电脑站、手机...
微信在处理消息推送时,如果没有获得响应,会隔5秒重试,最多重试3次。jwx在接到消息推送时,需要判断该消息是否已经接受过,如果接受过,则需要放弃处理。jwx设计了MessageKeyCache接口用于处理消息重排,里面需要...
代码精简,执行效率高6.SEO功能强大,支持主动推送/mip推送,并且支持301跳转,内容替换等,智能摘要等。7.代码适配,手机访问直接使用wap模板,无需单独建站。8.支持mip模板。9.懒人必备功能,支持自动保存远程图片...
2数据可根据站长的需求进行自动有效推送。 3数据均为用户分享。 4广告精准定位。 5注重用户体验。 6运行高效。 功能特性: 数据均为用户分享 不论是用户在网站中分享的产品,还是管理员后台采集到的数据,...
4、内置网站优化功能SEO优化:系统后台可以设置伪静态、设置HTML静态缓存策略、搜索引擎优化设置、常用搜索引擎登录入口、生成网站地图、生成关键词内链、百度自动推送 功能模块: 功能列表 核心功能:电脑站、手机...
关于: KafkaESK当前处于Beta版,是一个事件驱动的监视工具,可以使用来自Apache Kafka群集的消息,并在仪表板上显示...接收实时推送更新 按需拉动当前状态 转换,过滤,聚合和加入集合 推和拉查询 缓存先前运行的查询
增加手动触发自动采集/推送(可加入宝塔任务计划触发) 因熊掌号下线,更换为百度《快速收录》链接提交 { 随机图片}标签支持本地化 加密前台广告调用标识符 修正自定义域名 TKD 不支持某些标签 修复采集问题...
增加手动触发自动采集/推送(可加入宝塔任务计划触发) 因熊掌号下线,更换为百度《快速收录》链接提交 { 随机图片}标签支持本地化 加密前台广告调用标识符 修正自定义域名TKD不支持某些标签 修复采集问题(此前的会...
程序体积小->优化程序代码,运行速度快->高效的缓存处理,只要普通的虚拟主机就可以完美搭建起来,建站成本非常低。仿MVC模板分离,内置标签,自定义函数标签接口,强大的自定义采集功能,只要你会HTML就可以轻松...
X2.5新版本推出四大新体系:新社区形态、新技术体系、新门户系统以及新移动化体验,其中新门户系统主要从内容推送、图片裁切、模块管理等角度进行了深度优化,拟帮助站长和编辑更加省时省力地运维网站,提高网站...
X2.5新版本推出四大新体系:新社区形态、新技术体系、新门户系统以及新移动化体验,其中新门户系统主要从内容推送、图片裁切、模块管理等角度进行了深度优化,拟帮助站长和编辑更加省时省力地运维网站,提高网站...
9、管理员可以对商家用户的信息二次编辑,支持推送至推荐位及推送到其他内容模型功能; 10、管理员可看会员组设置商家信息直接发布、模型使用的权限; 11、模块配置可设置注册企业是否需要审核、是否支持在线交易...
9、管理员可以对商家用户的信息二次编辑,支持推送至推荐位及推送到其他内容模型功能; 10、管理员可看会员组设置商家信息直接发布、模型使用的权限; 11、模块配置可设置注册企业是否需要审核、是否支持在线交易...
推荐位功能可以让编辑随时把信息推送至指定位置,操作简单实用。 文字块功能 把一些小段内容放在文字块中,支持HTML代码和图片上传。 自定义URL规则 可以完全自定义URL地址规则,包括栏目、内容及自定义页。 ...
实时(按发布时间降序,实时推送新回帖) 头像浏览模式:原图(支持 gif 动图);静态图 Chrome 通知/邮件订阅/键盘快捷键开关 设置常用 Emoji,方便发布内容时快速插入表情 除了功能个性化配置项,还有很多...
馈送处理程序抓取设置站点并将可用 VoD、实时流和即将到来的事件的 JSON 表示推送到 Redis 缓存中。 网站 编译安装 在 Mac 上开发: # get Python 3 - redis and node + npm $ brew install npm python3 redis # ...
订阅分发模块监控到有报警信息后主动向微信订阅用户推送;同时部署有微信服务器,完成与微信用户的交互。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,...
第三章 跨域交互缓存处理设计 17 3.1 跨域交互缓存处理需求 17 3.1.1 缓存技术WebStorage 17 3.1.2 跨域交互缓存处理需求 17 3.1.3 页面回退管理需求 17 3.2 缓存处理机制 18 3.2.1 跨域缓存处理 18 3.2.2页面回退...
最简单的例子,每天我们打开一些带有广告性的网页,网页的两侧总会 弹出一些商品推荐,而这些推荐正是由于大数据通过你平时在淘宝、天猫等交易网站上搜 索过的商品信息,再提供给商家,广告商从而给你推送与你相关的...