whenever gem

39 views
Skip to first unread message

Avi

unread,
Jul 9, 2013, 9:28:27 AM7/9/13
to rubyonra...@googlegroups.com
Hello All,

I want to schedule a mail every day.
I used whenever gem. 

I added gem 'whenever' in my gemfile. Then in the terminal I did - "whenever ." which created a schedule.rb.

In schedule.rd I added this piece of code:- 

set :environment, "development"

every 2.minutes do
  runner "UserMailer.some_method"
end

Does it get invoked automatically ?
or do I need to do something to invoke it?

Thanks,
Avi

rubyon...@gmail.com

unread,
Jul 9, 2013, 9:41:34 AM7/9/13
to rubyonra...@googlegroups.com
use 
whenever -w 
to write into system crontab ; to check if write successfully try  crontab -l 
whenever -c to clear

On Tuesday, July 9, 2013 at 9:28 PM, Avi wrote:



avinash behera

unread,
Jul 9, 2013, 10:08:25 AM7/9/13
to rubyonra...@googlegroups.com
I tried with these commands. It is fine. But the schedule.rb is not being invoked.

I tried with some puts inside the method, but it is not getting invoked.

result of whenever -w -> [write] crontab file written

result of crontab -l :-
# Begin Whenever generated tasks for: the complete path/schedule.rb
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /bin/bash -l -c 'cd "the complete path" && script/rails runner -e development '\''UserMailer.some_method'\'''


# End Whenever generated tasks for: the complete path/schedule.rb

--
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-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/D580ED39D0B3430685EC8E64AFAD3FEC%40gmail.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Thanks,
Avi

rubyon...@gmail.com

unread,
Jul 9, 2013, 10:14:46 AM7/9/13
to rubyonra...@googlegroups.com
How about write out to some file as you might can not see these PUTS

avinash behera

unread,
Jul 10, 2013, 8:04:38 AM7/10/13
to rubyonra...@googlegroups.com
I tried with that...
But i am getting error - (CRON) info (No MTA installed, discarding output)
any pointers ?


For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Thanks,
Avi

Tamara Temple

unread,
Jul 10, 2013, 8:20:29 PM7/10/13
to rubyonra...@googlegroups.com

On Jul 10, 2013, at 5:04 AM, avinash behera <aavinas...@gmail.com> wrote:

> I tried with that...
> But i am getting error - (CRON) info (No MTA installed, discarding output)
> any pointers ?


This is because the normal behavior for cron is to send the combined STDOUT and STDERR to the owner of the crontab as an e-mail message. You don't have anything that can accept and deliver e-mail on your server (or whatever is running cron) as it cannot find the MTA (Mail Transfer Agent) and so is telling you it's just dropping the output of the command in the bit bucket. This has absolutely nothing to do with the whenever gem, ruby, rails or anything else. This is a base OS-level issue. If you want the output of the cron command, you have a couple of choices:

1) Append it to a log file the cron job has write access to.
2) Install a mail transfer agent.

#1 is by far the easier of the two. If cron is running as root, Just append '>> /var/log/cron.log 2>&1' (without quotes) to each crontab command. If cron is running as a regular user, append '>> $HOME/.cron.log 2>&1'.


>
> On Tue, Jul 9, 2013 at 7:44 PM, rubyon...@gmail.com <rubyon...@gmail.com> wrote:
> How about write out to some file as you might can not see these PUTS
>
> --
> rubyon...@gmail.com
> Sent with Sparrow
>
> On Tuesday, July 9, 2013 at 10:08 PM, avinash behera wrote:
>
>> I tried with these commands. It is fine. But the schedule.rb is not being invoked.
>>
>> I tried with some puts inside the method, but it is not getting invoked.
>>
>> result of whenever -w -> [write] crontab file written
>>
>> result of crontab -l :-
>> # Begin Whenever generated tasks for: the complete path/schedule.rb
>> 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /bin/bash -l -c 'cd "the complete path" && script/rails runner -e development '\''UserMailer.some_method'\'''
>>
>>
>> # End Whenever generated tasks for: the complete path/schedule.rb
>>
>> On Tue, Jul 9, 2013 at 7:11 PM, rubyon...@gmail.com <rubyon...@gmail.com> wrote:
>>> use
>>> whenever -w
>>> to write into system crontab ; to check if write successfully try crontab -l
>>> whenever -c to clear
>>> --
>>> rubyon...@gmail.com
>>> Sent with Sparrow
>>>
>>> On Tuesday, July 9, 2013 at 9:28 PM, Avi wrote:
>>
>>
>> --
>> Thanks,
>> Avi

Reply all
Reply to author
Forward
0 new messages