I’m trying to port a cgi program that runs fine under windows. But I
can’t seem to get what I want done under linux.
I want to send out emails to a list of subscribers. This program will
take about 10 minutes to run.
In windows I’ve been using the start command. This actually starts a
process and the cgi program continues to run a tells the user that
emails are being sent. The start command lets the program run in the
background. The cgi program doesn’t have to wait for the mail program
to finish.
I’ve tried
z=fork do
mail progam
end
Process.detatch(z)
The program doesn’t run.
I’ve tried writing a cronjobs file
t=Time.now + 60
File.open(’/var/www/cronjobs’){|f| f.write("#{t.min} #{t.hour} etc")}
crontab /var/www/cronjobs
crontab -u apache -l
lists the cron job at the right minute, hour, month, etc. but the cron
job doesn’t run.
The only thing I’ve seen in the Rubytalk archives is a suggestion to
close stderr, stdin, and stdout in the child process when using fork.
That didn’t help either.
Does anyone have a clue how to do this using apache and ruby?
Thanks in advance.
Ernie