网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

rubyonrails之延时执行代码

 最近因为项目需要,所以找了一下关与代码延时执行的问题.

创新互联建站是少有的成都网站建设、成都做网站、营销型企业网站、微信平台小程序开发、手机APP,开发、制作、设计、卖链接、推广优化一站式服务网络公司,公司2013年成立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评

在网上找的大部分的资料都是关于定时任务.这个很好弄,只需要安装一个gem包就完全可以做了.但是,我需要的是在程序接收到这个消息的时候延时5s或者10s发送.并且不妨碍整个程序其余的功能.
通过朋友的提示 我在rubygem.org这里找到了想要的gem. 
 
  1. gem "rufus-scheduler" 
这个包就完全可以实现这个功能.
下面看一下用法.
首先安装这个gem.
 
  1. gem "rufus-scheduler" 
然后,
  1. bundle install
可以用了.就这么简单.
具体的代码可以这么写.
  
  1. def send_sms 
  2.     require 'rufus/scheduler' 
  3.      
  4.     user_list_id = params[:users_send_list_id] 
  5.     sms_channel_id = params[:send_sms_channel_id] 
  6.     sms_text = params[:send_contents_value] 
  7.      
  8.    sms_text = sms_text.split("#") 
  9.    sendSmsTask(user_list_id,sms_channel_id,sms_text[0],part)#定时前调用的方法 
  10.     #启动定时器 
  11.     scheduler = Rufus::Scheduler.start_new 
  12.     scheduler.in '30s' do 
  13.       sendSmsTask(user_list_id,sms_channel_id,sms_text[1],part)#需要调用的方法 
  14.     end 
  15.   end 
  
看完了,赶快去试试吧.(欢迎各位提出更好的方法.大家一起讨论.)

 


文章标题:rubyonrails之延时执行代码
本文链接:http://bjjierui.cn/article/jeiodo.html

其他资讯