ユーザーにメッセージを入力し、次に年、月、日、時刻を入力し、その時間が来たらメッセージを電子メールで送信するルビープログラムを作成しています。そのデータをデータベース テーブルに格納します。プログラムはその日が来るまでループし、送信を実行する必要があります。
データベースを使用せずに、次のように記述しました。
def send_Message(m_to, m_from, m_body, month, day, year, hour, min)
x = 0
t = Time.now
if (t.day == day
&& t.month == month
&& t.year == year
&& t.strftime("%I") == hour
&& t.strftime("%M") == min )
x = x +5
message = @client.account.sms.messages.create(:body => m_body,
:to => m_to,
:from => m_from)
puts message.sid
else
sleep_time = Time.new(year,month,day)
total_sleep = sleep_time - t
sleep(total_sleep)
message = @client.account.sms.messages.create(:body => m_body,
:to => m_to,
:from => m_from)
puts message.sid
end
end
しかし、実際には月、日、年のみで機能するように見えますが、時間では機能しません。私が答えを求めている 2 つの質問があります: データベースをループして、送信するメッセージを時系列で検索するにはどうすればよいですか。また、上記のコード例では、日月とともに時間と分をどのように使用できますか?メッセージを送信する年。
PS: 私はこのアプリをレール上で設計しています。ユーザー/アプリが API リクエストを送信すると、前述のプロセスが実行されます。