博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
比rufus/scheduler更独立简洁的定时脚本必备whenever
阅读量:6820 次
发布时间:2019-06-26

本文共 1712 字,大约阅读时间需要 5 分钟。

Whenever is a Ruby gem that provides a clear syntax for writing and deploying cron jobs.

https://github.com/javan/whenever

 (1)首先安装这个gem

$ gem install whenever

(2)将这个gem添加到Gemfile里

Or with Bundler in your Gemfile.

gem 'whenever', :require => false

(3)运行以下命令,This will create an initial config/schedule.rb file for you.

$ wheneverize .

 

(4)编辑定时任务schedule.rb:

every 1.day, at: '00:01 am' do  command "cd /opt/app/ruby/cms/current && RAILS_ENV=#{@environment} bundle exec rails runner script/fetch_video.rb", output: 'log/fetch.log'end
以上含义是在每天晚上12:01执行脚本, (5)想以contab的形式查看schedule.rb脚本,执行以下命令
$ whenever
 
19:23 [root@a03.test.3g.b28.youku]$ whenever --helpUsage: whenever [options]    -i [identifier],                 Default: full path to schedule.rb file        --update-crontab    -w, --write-crontab [identifier] Default: full path to schedule.rb file    -c, --clear-crontab [identifier]    -s, --set [variables]            Example: --set 'environment=staging&path=/my/sweet/path'    -f, --load-file [schedule file]  Default: config/schedule.rb    -u, --user [user]                Default: current user    -k, --cut [lines]                Cut lines from the top of the cronfile    -r, --roles [role1,role2]        Comma-separated list of server roles to generate cron jobs for    -v, --version

更新写入crontab

$whenever -i
在script里的脚本可以只写功能语句,好处就是与执行时间分离开了,更加达到解偶的效果. (6)如果想立即执行脚本,也不需要去该fetch_video.rb里的代码,直接运行命令:
RAILS_ENV=production rails runner script/fetch_videos.rb
本地环境可以省略前面的RAILS_ENV配置,因为默认就是development环境
(7)部署的时候需要注意在  "config/deploy.rb" file加上:
require "whenever/capistrano"
set :whenever_command, "bundle exec whenever"
(8)最后,部署完在服务器上查看一下
$ crontab -l

 

 

转载于:https://www.cnblogs.com/iwangzheng/p/3849615.html

你可能感兴趣的文章
手机号码 正则
查看>>
如何解酷派CPB包
查看>>
Linux 安装JDK,配置JAVA环境变量
查看>>
jenkins插件之小白的笔记
查看>>
html meta中的viewport指令
查看>>
windows 2008的安装
查看>>
Unity3D研究院之手游开发中所有特殊的文件夹(assetbundle与Application.persistentDataPath)...
查看>>
[DeviceOne开发]-手势动画示例分享
查看>>
《Activiti实战》读书笔记——5.1.4
查看>>
Linux文件管理类命令
查看>>
Kuerbernetes 1.11 二进制安装
查看>>
SpringMVC异步处理之@Async(附源代码 - 单元测试通过)
查看>>
undefined reference to 'pthread_setspecific '
查看>>
MediaBrowserService 音乐播放项目--IT蓝豹
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
路由器的密码恢复
查看>>
linux yum命令详解
查看>>
2015.12.7 Objective-c CoreGraphic
查看>>
春节将至,观众人归心似箭,作酸诗一首
查看>>