`
luoping0425
  • 浏览: 108849 次
  • 性别: Icon_minigender_2
  • 来自: 赣州
文章分类
社区版块
存档分类
最新评论

rails 使用 whenever

阅读更多

rails whenever使用

参考:
https://github.com/javan/whenever 作者:javan javan / whenever
http://myrev.iteye.com/blog/830164 作者:myrev Rails3利用whenever gem调度发送邮件
http://asciicasts.com/episodes/164-cron-in-ruby  Cron in Ruby


whenever用于提供用户的定时任务,在linux下写crontab

1. 安装
  $ gem install whenever
  或在Gemfile中添加
  gem 'whenever', :require => false
 
2. 在项目目录下
$ cd ~/workspace/deploy
$ wheneverize .
输出:


[add] writing `./config/schedule.rb'
[done] wheneverized!

即创建 config/schedule.rb配置文件

3. 在schedule.rb中写入自己需要定时运行的任务:
如:
every 1.day do
    rake "log:clear"
end

4. 运行whenever命令,查看生成的crontab命令
$ whenever
=> 0 0 * * * /bin/bash -l -c 'cd /home/user01/workspace/deploy && RAILS_ENV=production rake log:clear --silent'

可以看到默认环境为生产环境

5. 写入到crontab中:
$ whenever -s environment=development -w /home/user01/workspace/deploy/config/schedule.rb
=> [write] crontab file written

其中environment后为项目运行环境,-w后为schedule.rb的默认路径

6. 更新crontab
$ whenever -i

7. 查看crontab
$ crontab -l

=>

Begin Whenever generated tasks for: /home/user01/workspace/deploy/config/schedule.rb
0 0 * * * /bin/bash -l -c 'cd /home/user01/workspace/deploy && RAILS_ENV=production rake log:clear --silent'
# End Whenever generated tasks for: /home/user01/workspace/deploy/config/schedule.rb


8.清除crontab为:
$ whenever -c

分享到:
评论

相关推荐

    Rails3 使用rake启动后台任务

    在 Rails 中,可以使用如 Whenever 这样的库来简化这个过程。 4. **Delayed Job (DJ)**: DJ 是一个流行的 Rails 插件,用于处理后台任务。它将任务放入数据库队列,然后在后台进程(如 worker)中执行。要使用 DJ,...

    rails _sunspot 学习笔记

    ### Sunspot 安装与使用指南 #### 一、Sunspot简介 Sunspot 是一个用于 Ruby on Rails 的灵活且强大的全文检索框架。它基于 Solr 和 Lucene 构建,可以方便地集成到 Rails 应用中,为用户提供高效的搜索功能。 ##...

    Rails4-Start-Up:rails4为ruby 2.1.2启动

    基本介绍 rails4快速开发产品原型的基础代码,结构清晰,注释详细,遵守rails约定规范,包含一些基本的功能。可以查看完整版。 方案 Ruby管理:rbenv Ruby: Ruby 2.1.2 后端框架:Rails 4.2.0 ...搜索系统,使用更强大

    flights:在 Rails 中处理飞行端点..

    部署说明 (Ubuntu 14.04):使用 Ruby 2.0.0p481(rbenv 而不是 rvm)、Rails 4.1.2、MongoDB 2.6 ~~部署时: 需要将bundle exec whenever --update-crontab map_server作业添加到 crontab( bundle exec whenever...

    rails_push_notifications_test:展示 Rails-Push-Notifications gem 的 Rails 项目

    6. **任务和调度**:如果需要定时发送推送,如新闻简报,项目可能利用 `Rake` 任务或者第三方库如 `Whenever` 来安排推送。 7. **日志和错误处理**:在生产环境中,项目会记录推送过程中的错误和异常,这有助于调试...

    mina-whenever

    Mina ::无论何时 这是的每当插件 安装 ... set :whenever_name # default: "#{domain}_#{rails_env}" 贡献 在GitHub上( 欢迎报告错误和请求请求。 该项目旨在提供一个安全,友好的合作空间,并且希

    rake-ui:用于管理耙任务的Rails引擎

    Rails . application . routes . draw do mount RakeUi :: Engine => "/rake-ui" end 测验 bundle exec rake test 要快速迭代,我通常会安装nodemon,也可以使用Guard minitest。 # Example with nodemon, you ...

    DeployTool:Simple Rails 5部署工具

    部署示例项目“ Rails 5 App” 如何部署Rails 5 App 1.克隆部署工具并安装gem git clone https://github.com/DeployRB/DeployTool.git cd DeployTool gem install bundler bundle install 2.复制模板

    action_cable_client:用于与Rails的ActionCable交互的ruby客户端。 -维修人员通缉

    动作电缆客户端 该gem是的包装,并支持Rails Action Cable协议。用法require 'action_cable_client'EventMachine . run do uri = "ws://localhost:3000/cable/" client = ActionCableClient . new ( uri , '...

    ruby中执行周期性任务(定时任务)的3种方法

    - 使用`whenever`命令可以查看cron表达式,`whenever -w`将任务写入cron,`whenever -c`则取消任务。通过`crontab -l`可以查看cron任务列表。 2. **Sidetiq** Sidetiq是Sidekiq的扩展,适合在Rails项目中配合...

    沙漏:开发网站

    对于时间相关的功能,"Hourglass" 可能使用了 Ruby 的内置 `Time` 类或者第三方库如 `chronic`(自然语言日期解析)或 `whenever`(用于调度任务)。它可能通过数据库(如 PostgreSQL 或 MySQL)存储和检索时间数据...

    Knockout API 中文版

    它是一个在页面里操作元素和事件的框架,非常出色并且易使用,在DOM操作上肯定使用jQuery,KO解决不同的问题。 Everyone loves jQuery! It’s an outstanding replacement for the clunky, inconsistent DOM API ...

    smart_garden:基于Raspberry Pi的智能花园API

    自述文件 此Rails应用程序用于从... 运行“ whenever –update-crontab”以设置cron作业 运行“ rake db:create db:migrate”来设置数据库 重新启动Raspberry Pi 用法: 传感器的当前状态应该可用,请检查和 传

    schedule_cron

    2. **whenever**:whenever是一个简化了在Rails应用中配置Cron作业的gem。它允许你用简洁的Ruby语法编写Cron表达式,并将它们写入Crontab文件。例如,如果你想在每天的凌晨1点运行一个任务,你可以在`config/...

    schedule-new

    `whenever` gem提供了一个更友好的界面来配置Cron作业,它将Ruby代码转换为Cron表达式,使得在Rails应用中管理定时任务变得更加简单。在Gemfile中添加`whenever`,然后在`config/schedule.rb`中定义任务: ```...

    scheduled_tweets

    6. **调度库**: 为了定时发布推文,项目可能使用了像是`Rufus-Scheduler`或`Whenever`这样的任务调度库,它们允许在特定时间执行Ruby代码。 7. **测试**: 项目可能包含测试代码(如`spec`或`test`目录),使用RSpec...

    计划任务Cron表达式生成

    `whenever`是Rails框架中用于简化Cron表达式创建的gem,它允许开发者用更易读的语法来定义计划任务。例如: ```ruby every 2.days, at: '3:00 am' do runner "MyModel.some_process" end ``` 在这个例子中,`...

    valheim-server-help.github.io

    1. **Ruby on Rails框架**:虽然直接搭建Valheim服务器并不需要使用完整的Rails框架,但了解其工作原理有助于理解如何构建高效的服务端应用。Rails提供了MVC(模型-视图-控制器)架构,便于组织代码和处理服务器请求...

    Scheduled_tweets

    Rails(Ruby的一个Web开发框架)默认使用ActiveRecord,它简化了与数据库的交互。你可以将推文内容、预定时间等信息存储在数据库中,然后由CRON job读取并执行。 6. **时间与日期处理**:在处理预定推文时,会涉及...

    优化Ruby脚本效率实例分享

    在Ruby社区,还有许多用于执行周期性任务的Gem,如`Whenever`、`Rufus-Scheduler`和`Sidekiq`,它们提供了方便的方式来调度和管理后台任务,提高应用程序的响应速度。 总的来说,通过使用`profile.rb`这样的性能...

Global site tag (gtag.js) - Google Analytics