开源项目 whenever
使用教程
wheneverCron jobs in Ruby项目地址:https://gitcode.com/gh_mirrors/wh/whenever
1. 项目的目录结构及介绍
whenever/
├── bin/
│ └── wheneverize
├── lib/
│ ├── whenever/
│ │ ├── cli.rb
│ │ ├── job_list.rb
│ │ ├── output_classes/
│ │ │ ├── cron.rb
│ │ │ ├── rails_runner.rb
│ │ │ └── shell.rb
│ │ └── version.rb
│ └── whenever.rb
├── spec/
│ ├── cli_spec.rb
│ ├── job_list_spec.rb
│ └── spec_helper.rb
├── Gemfile
├── Gemfile.lock
├── README.md
└── wheneverize.rb
bin/
: 包含可执行文件wheneverize
,用于初始化whenever
配置。lib/
: 包含whenever
的核心代码。whenever/
: 主要的逻辑代码。cli.rb
: 命令行接口。job_list.rb
: 任务列表管理。output_classes/
: 输出格式类。cron.rb
: Cron 格式输出。rails_runner.rb
: Rails Runner 格式输出。shell.rb
: Shell 命令格式输出。
version.rb
: 版本信息。
whenever.rb
: 主入口文件。
spec/
: 包含测试文件。Gemfile
: 依赖管理文件。Gemfile.lock
: 依赖锁定文件。README.md
: 项目说明文档。wheneverize.rb
: 初始化脚本。
2. 项目的启动文件介绍
whenever
的启动文件是 bin/wheneverize
。这个文件用于初始化 whenever
配置,生成 config/schedule.rb
文件。
#!/usr/bin/env ruby
require 'pathname'
require 'fileutils'
gem_root = Pathname.new(File.expand_path('../../', __FILE__))
require gem_root.join('lib/whenever')
Whenever::CommandLine.execute
3. 项目的配置文件介绍
whenever
的配置文件是 config/schedule.rb
。这个文件定义了定时任务的具体内容和执行时间。
# 设置环境
set :environment, :development
# 设置输出路径
set :output, 'log/cron.log'
# 定义任务
every 1.day, at: '4:30 am' do
runner "MyModel.some_process"
command "rm -f tmp/cache/*"
end
every 1.hour do
rake "my:task"
end
set :environment, :development
: 设置运行环境。set :output, 'log/cron.log'
: 设置日志输出路径。every 1.day, at: '4:30 am' do ... end
: 定义每天 4:30 am 执行的任务。every 1.hour do ... end
: 定义每小时执行的任务。
通过这些配置,可以灵活地定义和管理定时任务。
wheneverCron jobs in Ruby项目地址:https://gitcode.com/gh_mirrors/wh/whenever