温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ruby on rails 之 延时执行代码

发布时间:2020-06-26 19:57:19 阅读:1157 作者:glorySpring 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×