Padrino as a framework is an interesting middle ground between Rails and Sinatra. However, it breaks from the norm in that it doesn’t have a traditional Rakefile, opting instead to pass everything through its
padrino command (e.g.,
padrino rake console). Ordinarily this isn’t a problem, but it slightly conflicts with the excellent whenever gem for managing crontabs on a production server, since whenever’s default
rake job type assumes there’s a traditional Rakefile.
Luckily whenever offers a simple solution by defining a custom
job_type :padrino_rake, 'cd :path && padrino rake :task -e :environment' every :hour do padrino_rake 'crawl' end
Run after a deploy, my
crontab will now look like this:
@hourly /bin/bash -l -c 'cd /path/to/my/project && padrino rake crawl -e production'