Ruby on Rails
Monday, July 6, 2015
Small update
So it sent mails to the only two users that had daily == true, so my method work. But is the scheduled job working ?
Le lundi 6 juillet 2015 16:51:58 UTC+2, Marco Dias a écrit :
-- I tried to run the command rake email_sender in my terminal, and I got this :
[1m[36mUser Load (0.9ms)[0m [1mSELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1000[0m
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from block (2 levels) in <top (required)> at /Users/Marco/Documents/TBProject/lib/tasks/rake1.rake:5)
Rendered user_mailer/daily_mail.html.erb within layouts/mailer (1.2ms)
Rendered user_mailer/daily_mail.text.erb within layouts/mailer (0.2ms)
UserMailer#daily_mail: processed outbound mail in 189.6ms
Sent mail to example@railstutorial.org (8.6ms)
Date: Mon, 06 Jul 2015 19:24:29 +0200
From: admin@fluxio.com
To: example@railstutorial.org
Message-ID: <559ab9cd79f6_193e3fc21dc6020412765@Marcos-MacBook-Air.local.mail>
Subject: Mail journalier
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_559ab9cd64da_193e3fc21dc6020412690";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_559ab9cd64da_193e3fc21dc6020412690
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Daily Mail
----==_mimepart_559ab9cd64da_193e3fc21dc6020412690
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<html>
<body>
<h1>Daily Mail</h1>
</body>
</html>
----==_mimepart_559ab9cd64da_193e3fc21dc6020412690--
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from block (2 levels) in <top (required)> at /Users/Marco/Documents/TBProject/lib/tasks/rake1.rake:5)
Rendered user_mailer/daily_mail.html.erb within layouts/mailer (0.0ms)
Rendered user_mailer/daily_mail.text.erb within layouts/mailer (0.0ms)
UserMailer#daily_mail: processed outbound mail in 15.2ms
Sent mail to test@test123.ch (2.7ms)
Date: Mon, 06 Jul 2015 19:24:29 +0200
From: admin@fluxio.com
To: test@test123.ch
Message-ID: <559ab9cdd27c_193e3fc21dc602041295@Marcos-MacBook-Air.local.mail>
Subject: Mail journalier
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_559ab9cdc753_193e3fc21dc60204128e8";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_559ab9cdc753_193e3fc21dc60204128e8
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Daily Mail
----==_mimepart_559ab9cdc753_193e3fc21dc60204128e8
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<html>
<body>
<h1>Daily Mail</h1>
</body>
</html>
----==_mimepart_559ab9cdc753_193e3fc21dc60204128e8--
So it sent mails to the only two users that had daily == true, so my method work. But is the scheduled job working ?
Le lundi 6 juillet 2015 16:51:58 UTC+2, Marco Dias a écrit :
Hi,
I need to implement a notification feature in my project. My user model has a daily, weekly and monthly booleans fields. I already have a UserMailer that sends mail when I create an account, or for password resetting.
What I want is my app to send a mail each day or week or month, depending on what the user chose.
So I've installed Whenever gem, and here is my schedule.rb :every :day, :at => '12pm' do # Use any day of the week or :weekend,
:weekday rake "email_sender"
end
My rake task :desc "Send email to users"
task :email_sender => :environment do |_, args|
User.find_each do |user|
UserMailer.daily_mail(user).deliver if user.daily == true
end
end
My UserMailer :def daily_mail(user)
@user = user mail to: user.email, subject: "Mail journalier"
end
The thing is, I don't know if I did right, and how can I test this, since I'm not in development ?I did a crontab -l and I get this :# Begin Whenever generated tasks for: store
0 12 * * * /bin/bash -l -c 'cd /Users/Marco/Documents/
TBProject && RAILS_ENV=production bundle exec rake email_sender --silent'
# End Whenever generated tasks for: store
# Begin Whenever generated tasks for: /Users/Marco/Documents/
TBProject/config/schedule.rb 0 12 * * * /bin/bash -l -c 'cd /Users/Marco/Documents/
TBProject && RAILS_ENV=production bundle exec rake email_sender --silent'
# End Whenever generated tasks for: /Users/Marco/Documents/
TBProject/config/schedule.rb If you could help me please
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/c78d5fb9-65e6-4d04-a6af-a17c39b6a460%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment