Я видел, что Heroku заряжает $15/мес для выполнения Отложенного Задания, и $3/мес для выполнения задач крона ежедневно. Действительно ли возможно пропустить это полностью и выполнить мои собственные задачи крона вручную? Или они так или иначе выясняют, что я выполняю задачи крона?
Я не совсем понимаю, что вы имеете в виду под «запускать мои собственные задачи cron вручную». В частности, для cron вам необходим доступ к crontab
, которым они могут управлять, поскольку они являются их серверами. Если у вас есть другой способ сделать это, это, вероятно, было бы хорошо, но имейте в виду, что ваше приложение не привязано к определенному серверу при работе под Heroku, и что сервер будет изменяться между выполнениями.
Кроме того, если они не меняли его с момента последней проверки, вы можете запускать ежедневные задачи cron бесплатно, но почасовая оплата составляет 3 доллара в месяц.
РЕДАКТИРОВАТЬ : Да, ежедневные кроны бесплатны. См. http://addons.heroku.com/ .
Если вы установите гем Heroku на свой компьютер, вы сможете запускать задачи cron вручную следующим образом:
$ heroku rake cron
(in /disk1/home/slugs/xxxxxx_aa515b2_6c4f/mnt)
Running cron at 2010/04/25 10:28:54...
Это будет выполнять тот же код, что и надстройка Heroku для ежедневных / ежечасных cron; то есть, чтобы это работало, ваше приложение должно иметь Rakefile с задачей cron
, например:
desc "Runs cron maintenance tasks."
task :cron do
puts "Running cron at #{Time.now.strftime('%Y/%m/%d %H:%M:%S')}..."
# TODO: your cron code goes here
end
Теперь просто добавьте команду heroku rake cron
в crontab на любой ваш сервер Unix, или даже непосредственно на crontab
вашего персонального компьютера, если вы используете Linux или Mac OS X, и вы можете планировать задания cron для своего приложения Heroku по своему усмотрению и без взимания платы за Это.