以下のコードでは、プロセスが完了したか、エラーが発生したか、タイムアウトになったかを示す電子メールを送信する必要があります...
def check_for_forecasts
wait_until_time = Time.now + timeout.minutes
loop do
RAILS_DEFAULT_LOGGER.info "Checking if process has finished"
if find_token != 0
update_completion_status
RAILS_DEFAULT_LOGGER.info "Process has finished"
break
elsif find_error != 0
update_timed_out_field
RAILS_DEFAULT_LOGGER.info "Process has errored"
break
elsif DateTime.now > wait_until_time
update_timed_out_field
RAILS_DEFAULT_LOGGER.info "Process has timed out"
break
else
RAILS_DEFAULT_LOGGER.info "Waiting for Process to finish"
sleep(60) # if it hasn't completed then wait 1 min and try again.
end
end
end
通常、Linux の「メール」コマンドは、.rb ファイルではなく .sh ファイルでのみ使用します。以下は、.sh ファイルでメールを送信するための「mail」コマンドの書き方です。
mail -s "the process has been finished" abc@xyz.com<<EOM
The process has finished successfully.
EOM
.rb ファイルで単純なメール コマンドを使用する方法はありますか? または、同じもののためにgemをインストールする必要がありますか?
助けてください。ありがとうございました。