ruby on railsの遅延実行コード
最近、プロジェクトが必要なので、コードの遅延実行に関する問題を探しました.
ネットで探しているほとんどの資料はタイミングタスクについてです.これはとてもやりやすくて、gemバッグを1つ取り付けるだけで完全にできます.しかし、私が必要とするのは、プログラムがこのメッセージを受信したときに5 sまたは10 s遅れて送信することです.また、プログラム全体の残りの機能を妨げることはない.
友達のヒントでrubygemにいます.orgここで欲しいgemを見つけた
このパッケージはこの機能を完全に実現することができる.
次は使い方を見てみましょう.
まずこのgemをインストールします.
そして、
使えます.簡単です
具体的なコードはこのように書くことができます.
読み終わったら、早く行ってみましょう.皆さん、もっといい方法を提案してください.みんなで討論します.
ネットで探しているほとんどの資料はタイミングタスクについてです.これはとてもやりやすくて、gemバッグを1つ取り付けるだけで完全にできます.しかし、私が必要とするのは、プログラムがこのメッセージを受信したときに5 sまたは10 s遅れて送信することです.また、プログラム全体の残りの機能を妨げることはない.
友達のヒントで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
読み終わったら、早く行ってみましょう.皆さん、もっといい方法を提案してください.みんなで討論します.