Ruby 学习:whenever
ruby 生态里的一个好用的定时任务库
安装
首先你得安装
ruby
环境,推荐rbenv
方式安装。
# 利用 gem 安装
gem install whenever
# 或者添加到 Gemfile
gem 'whenever', require: false
# 指定安装源
gem install whenever --source 'https://rubygems.org'
基本命令
- 清除
- 初始化
- 列出当前目录(项目)下的任务
- 列出
crontab
里的任务 - 更新定时任务
alias when-clear='whenever -c'
alias when-init='wheneverize .'
alias when-list='whenever'
alias when-list-all='crontab -l'
alias when-update='whenever --update-crontab'
日志,及常用配置
假设文件在这个位置:
./config/schedule.rb
# Example:
APP_PATH = File.expand_path("../../", __FILE__)
LOG_DIR = "#{APP_PATH}/logs"
every 1.day do
command "cd #{APP_PATH} && npm run start"
end
# template2
PROJECT_PATH = File.expand_path("..", __dir__)
set :output, "#{PROJECT_PATH}/logs/schedule.log"
every 5.minutes do
command "cd #{PROJECT_PATH} && npm run restart"
end
常用的操作
功能 | 代码 |
---|---|
每小时执行 |
|
不同的时间段 |
|
每2小时备份 |
|