ruby执行周期性任务
1.前言
2.whenever
$ gem install whenever
$ cd /project
$ wheneverize .
every 30.minutes do
runner "Blog.parseAll"
end every 30.minutes, :at => 17 do
runner "PostWeibo.post"
end every 15.minutes do
runner "WeiBo.update"
end every 30.minutes, :at => 20 do
runner "RSSGenerator.generate"
end every 1.day, :at => '2:00 am' do
command "cd /var/www/mzread/current/public && gunzip -c sitemap1.xml.gz > sitemap1.xml && touch sitemap1.xml "
end
job_type :ruby, "cd :path && /usr/bin/ruby ':task'.rb" every :hour do
ruby 'have_a_rest'
end
$ whenever #不带参数的whenever会显示转换程cron任务的代码,不写入cron任务表
$ whenever -w #写入cron任务表,开始执行
$ whenever -c #取消任务
$ crontab -l
3.sidetiq
$ [sudo] gem install sidetiq
定义周期性任务:
class MyWorker
include Sidekiq::Worker
include Sidetiq::Schedulable recurrence { daily } def perform
# do stuff ...
end
end
4.clockwork
require 'clockwork'
include Clockwork handler do |job|
puts "Running #{job}"
end every(10.seconds, 'frequent.job')
every(3.minutes, 'less.frequent.job')
every(1.hour, 'hourly.job') every(1.day, 'midnight.job', :at => '00:00')
$ clockwork clock.rb
Starting clock for 4 events: [ frequent.job less.frequent.job hourly.job midnight.job ]
Triggering frequent.job
require './config/boot'
require './config/environment'
ruby执行周期性任务的更多相关文章
- python使用sched模块执行周期性任务和定时任务
执行周期性任务 sched模块是一个通用的事件调度程序,可以对任务进行延迟调度,基于此,可以用它来实现周期性任务. # coding:utf8 import time import sched # 初 ...
- ruby执行字符串代码
str = "a='abcd'; a.reverse" 字符串str为ruby代码,执行方法eval eval str => "dcba"
- notepad++上配置ruby执行环境
1.安装NppExec 插件 2.按快捷键F6,在弹出框中输入如下命令: npp_save cd "$(CURRENT_DIRECTORY)" jruby "$(FI ...
- JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理
本文记录: 1,使用ScheduledExecutorService的 scheduleAtFixedRate 方法执行周期性任务的过程,讨论了在任务周期执行过程中出现了异常,会导致周期任务失败. 2 ...
- Linux任务计划、周期性任务执行
Linux任务计划.周期性任务执行 周期性任务执行: cron 守护进程(crond):服务,不间断地运行于后台 # service crond {start|stop|status|restart} ...
- Rails 定时任务——whenever实现周期性任务
根据项目的进展,我们需要实现后台进行定时读取信息的功能,而最关键的实现部分是周期性功能,根据调研,决定使用whenever来实现这一功能. github:https://github.com/java ...
- windows下安装ruby和 rails的痛苦经历
准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题.下面详细说下: 说明下,文章是按照我尝试的过程描述的.但最终是靠 运行 railsinstaller一键式 ...
- Sublime中开发Ruby
Ruby:Sublime中开发Ruby需要注意的Encoding事项 目录 背景Sublime相关默认的文件存储编码:UTF8默认的输出控制台编码:UTF8修改默认的输出控制台编码Ruby相关默认的代 ...
- cronatab周期性任务
要执行周期性任务,要保证服务运行.服务名为crond:service crond start ; systemctl start crond; 配置文件 /etc/crontab cron的日志文件 ...
随机推荐
- SQL Server 统计信息(Statistics)-概念,原理,应用,维护
前言:统计信息作为sql server优化器生成执行计划的重要参考,需要数据库开发人员,数据库管理员对其有一定的理解,从而合理高效的应用,管理. 第一部分 概念 统计信息(statistics):描述 ...
- Asp.Net从相对路径获取绝对路径的方法(不需要httpcontext上下文也可)
//如果拿不到当前HttpContext上下文的话可以用该方法取得绝对路径 var filePath = HostingEnvironment.MapPath("需要获取绝对路径 的 相对路 ...
- DataType 枚举
命名空间: System.ComponentModel.DataAnnotations 成员名称 说明 CreditCard 表示信用卡号码. Currency 表示货币值. Cust ...
- Stack-682. Baseball Game
You're now a baseball game point recorder. Given a list of strings, each string can be one of the 4 ...
- FunDA(5)- Reactive Streams:Play with Iteratees
FunDA的设计目标就是把后台数据库中的数据搬到内存里,然后进行包括并行运算的数据处理,最后可能再对后台数据库进行更新.如果需要把数据搬到内存的话,那我们就必须考虑内存是否能一次性容纳所有的数据,有必 ...
- 推荐算法之 slope one 算法
1.示例引入 多个吃货在某美团的某家饭馆点餐,如下两道菜: 可乐鸡翅: 红烧肉: 顾客吃过后,会有相关的星级评分.假设评分如下: 评分 可乐鸡翅 红烧肉 小明 4 5 小红 4 3 小伟 2 3 小芳 ...
- [nuget]VS中包管理器打开后找不到其它工程的问题
今天新建工程做小组内用的工具,打算做个winform的项目, 用vs新建了winform项目,简单分下层吧,又加了两个类库项目, 然后,要用到的包需要nuget安装,于是发生这个问题: [VS]在so ...
- 电脑网络IP固定地址自动改变!
今天电脑的固定IP地址每次重启设备,会自动改变一次.所以每次重启电脑都要手动重设IP地址.网关.DNS及高级选项中的ip设置. 高级选项中的ip设置每次都有2个ip,都要我删除一个.我都崩溃了,还以为 ...
- Ubuntu16.04 Nvidia驱动、CUDA安装
安装Nvidia驱动和CUDA时往往很费力,经常有莫名奇妙的错误,这次安装十分顺畅,权当记录一下,以方便以后再次安装. 一.Nvidia显卡驱动安装 sudo add-apt-repository p ...
- 简单shell expect程序
1 expect程序 用的Ubuntu,本身没带expect,安装. sudo apt-get install expect (关于expect,参见http://www.tclchina.com/a ...