ruby on railsの遅延実行コード


最近、プロジェクトが必要なので、コードの遅延実行に関する問題を探しました.
ネットで探しているほとんどの資料はタイミングタスクについてです.これはとてもやりやすくて、gemバッグを1つ取り付けるだけで完全にできます.しかし、私が必要とするのは、プログラムがこのメッセージを受信したときに5 sまたは10 s遅れて送信することです.また、プログラム全体の残りの機能を妨げることはない.
友達のヒントで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 

  
読み終わったら、早く行ってみましょう.皆さん、もっといい方法を提案してください.みんなで討論します.