`
fantaxy025025
  • 浏览: 1332271 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ruby on rails中Rake使用整理

阅读更多

Ruby on rails中Rake的经典教程

rake命令传递参数

rake regular_job:quan_monitor minutes=3000000

minutes=3000000是传递的参数

在rake任务内可以用ENV这个hash来得到,ENV["minutes"]

 

 

rake的基本知识补充

最近在用rake结合svn来写一个Daily build报告。
我们平台的后台job大部份都是用rake来实现的,总结一下,用rake写后台job有以下一些好处:
1.  rake可以与ruby on rails紧密结合,很方便就可以调用rails框架的一些功能。如:调用model进行数据处理。
2. rake支持调用shell脚本,可以与shell结合使用。
3. ruby大量类库支持。

以下是关于rake的一个经典的教程

原文:Ruby on Rails Rake Tutorial (aka. How rake turned me into an alcoholic)
引言:作为一个rails的开发者,你可能很熟悉使用rake进行你的测试,或者使用rake db:migrate运行你的migrations,但是你真的知道Rake的背后故事吗?你意识到可以自己写一个Rake任务或者一个有用的lib吗

下面是我们使用Rake任务的例子:

1、给列表中的用户发送邮件
2、每晚数据的计算和报告
3、过期或重新生成缓存
4、备份数据和svn版本(how’s this : subversion repository )
5、运行数据处理脚本(sort of,how much is called this )
6、Pouring drinks to get a good buzz on(一句玩笑,是这两位仁兄的风格)


这篇文章中,我们将讨论为什么要创建Rake,和他怎么样帮助我们的rails应用。最好你可以写自己的Rake。

一、历史回顾:make

为了了解Rake的来历,我们先了解一下Rake的爷爷:Make。
让我们回到那个代码块需要编译,解释性语言和iphone还没出现在地球上的时代。

回到那时,我们下载的大型程序,还是一堆源代码和一个shell脚本。这个shell脚本包含了所有需要用来compile/link/build 的代码。你需要运行“install_me.sh”这个脚本,每一行代码将被运行(编译每一行源文件),然后生成一个你能够运行的文件。

对于大多数人这样是不错的,但是对于程序开发人员却是一个不幸。每次你对源代码进行一个小的改动,并进行测试的时候,你需要回到shell脚本,并 重新编译所有的源代码,显然对于大的程序“那是相当的”耗时的。

1977年(作者出生那年,我78年),贝尔实验室的Stuart Feldman创造了“make”。解决了编译时间过长的问题。Make用来编译程序,取得两方面的进步:


Stuart Feldman

(1)Make可以发现哪个文件在上一次编译后改动过,根据这点,再次运行Make时,仅编译改动过的文件。这个很大程序上减少了重新编译大型程序 的时间。

(2)Make可以进行从属跟踪。你可以告诉编译器,源文件A的编译需要源文件B,源文件B的编译需要源文件C,所以Make在编译A时发现B没有 编译,将会先编译B。

可以这样定义:Make是一个可执行程序。像ls或dir一样。让Make理解如何让编译一个项目,需要创建一个makefile文件,描述所有的 源文件和依赖关系。makefiles有自己的语法,你不用去了解。

这些年Make出现了其他的变体,并且被其他的语言使用。事实上,ruby用户在rake出现前也在使用它。

“但是,ruby并不需要编译,我们用它来干嘛?”

是啊。ruby是一个解释性语言,我们不需要编译它的源代码,所以ruby程序员为什么使用它呢?

两个重要的原因:

(1)创建任务
在大型的应用中,你经常编写脚本,在命令行下运行一些任务。比如清除缓存,维护任务,或者迁移数据库。你可以写一个MakeFile来组织你的任务,而不 是写十个不相干的脚本(或者一个复杂的)。这样你可以简单的运行:“make stupid”。

(2)从属任务跟踪
当你开始写一些维护任务的时候,可能发现有些任务的使用可能有重复。比如,“migrate”任务和“schema:dump”都需要链接数据库,这样我 可以创建一个任务”connect_to_database”,使“migrate”和“schema:dump”都依赖 于”connect_to_database”,这样下次运行“migrate”时,”connect_to_database”会先于 “migrate”运行

二、如何得到Rake

几年前,Jim Weirich 在一 个java项目上使用了Make,他发现如果在他的Makefile中写一小段ruby代码 将会带来非常大的方便。所 以他创建了Rake。

内容 请点击~

注:图片均来自英文原文(Pics come from the english page)

 

本文转自博客:推荐看看~不错哦!

http://blog.thinklet.net/franky/category/rubyrails/

 

另外一篇这里:

http://jasonseifer.com/2010/04/06/rake-tutorial

 

P

 

P

 

P

 

+

 

P

 

P

 

P

 

 

 

 

 

分享到:
评论

相关推荐

    Ruby on Rails入门经典代码

    本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习Rails的宝贵资源,帮助初学者快速掌握这个强大的框架。 1. **Rails基础知识**: - MVC架构:Rails的核心设计模式,模型负责数据处理,视图负责展示,控制器...

    Ruby on Rails入门经典-例子

    在Ruby on Rails中,"模型"负责处理数据和业务逻辑,"视图"负责展示数据,而"控制器"则作为模型和视图之间的桥梁,处理用户请求并调用模型方法来更新数据,再将结果传递给视图进行渲染。Rails提供了许多内置的便利...

    Ruby on Rails Web开发学习实录随书光盘(源代码).

    3. **ActiveRecord**:Rails中的ORM(对象关系映射)库,它将数据库操作与业务逻辑解耦,使得开发者可以使用Ruby代码来操作数据库,无需编写SQL语句。 4. **Scaffold**:Rails提供的快速开发工具,可以自动生成CRUD...

    ruby on rails 敏捷开发,3.1 pdf and epub format

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架,它遵循敏捷开发的理念,致力于提高开发效率和代码的可读性。在Rails 3.1版本中,引入了许多重要更新和改进,...

    教学级Ruby On Rails 手动安装.pdf

    **Ruby on Rails**,简称**Rails**,是一种使用**Ruby**语言编写的开源全栈Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调代码效率与开发者幸福感,通过约定优于配置的理念简化开发流程。对于初次...

    ruby on rails 教程

    例如,文档提到在Apple系统中使用Locomotive进行安装,在Windows系统中推荐使用InstantRails套件。这些套件通常包含了运行Rails项目所需的所有软件包,如Ruby、Rails、数据库驱动等,使得安装过程更加简便。 - **...

    ruby on rails基础知识

    ### Ruby on Rails基础知识详解 #### 一、Rails简介与安装 **Rails** 是一款流行的开源Web应用框架,基于Ruby语言编写。它强调简洁性、生产力和优雅的设计,非常适合快速开发Web应用。 - **特点** - **DRY (Don'...

    eclipse的ruby on rails开发插件RadRails

    5. **运行与调试**:设置好断点后,使用“Debug As” -> “Ruby on Rails Debug Configuration”启动调试会话。 6. **测试应用**:编写测试用例,通过“Run As” -> “Ruby Test”运行测试,并查看测试结果。 **...

    ruby on rails 搭建redmine

    在使用Ruby on Rails搭建Redmine时,你需要了解以下关键知识点: 1. **环境准备**:首先确保你的系统安装了Ruby、RubyGems和Bundler。Ruby是编程语言,RubyGems是它的包管理器,而Bundler则用来管理项目的依赖关系...

    Ruby on Rails实例开发

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,同时强调“约定优于配置”的原则。在本实例开发中,我们将探讨如何...

    Ruby on Rails中MVC结构的数据传递解析

    Ruby on Rails是一个使用Ruby语言开发的开源Web应用框架,它遵循MVC(Model-View-Controller)模式,即模型-视图-控制器模式。MVC模式是一种将应用程序架构分层的设计模式,将数据处理、用户界面和控制逻辑分离,...

    基于Ruby语言的Ruby on Rails项目及其代码方案

    Ruby on Rails是一款使用Ruby语言开发的应用程序框架,其核心是MVC(Model-View-Controller)模式,能够快速高效地构建Web应用。Rails以其简洁、高效著称,被广泛应用于各种规模的Web应用开发中。 #### 二、项目...

    ruby on rails合集

    Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,使得开发者能够更快速地构建功能丰富的web...

    Ruby on rails blog (博客程序)

    在这个“Ruby on Rails博客程序”中,我们将深入探讨如何在Ubuntu 11.10操作系统上,使用Rails 3.0.8版本构建一个简单的博客平台。 首先,我们要了解Rails的基本概念。MVC架构将应用分为三个主要部分:模型(Model...

    ruby on rails MySql

    当在Ruby on Rails项目中使用MySQL作为数据存储时,这两个技术的结合提供了强大的后端支持。 在Rails中集成MySQL,你需要安装特定的数据库适配器,即`mysql2` gem。这个gem允许Rails与MySQL数据库进行通信,处理SQL...

    Ubuntu 11.04安装Ruby on rails 连接MySQL数据库.pdf

    在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行安装: ```bash sudo apt-get install mysql-server ``` 在安装过程中,系统会提示输入MySQL...

    Ruby on rails 数据库详细配置

    在Ruby on Rails框架中,数据库配置是至关重要的部分,它允许开发者与各种数据库系统进行交互,如MySQL、Microsoft SQL Server等。以下将详细介绍如何在Windows环境下安装Ruby on Rails以及配置数据库。 首先,我们...

    Ruby on Rails入门例子

    在"Ruby on Rails入门例子"中,你可能会学习如何创建一个简单的Rails应用。首先,你需要安装Ruby和Rails环境,然后使用`rails new`命令生成一个新的项目。接下来,会介绍如何创建控制器、模型和视图。例如,创建一个...

    ruby on rails入门基础

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发更简洁、高效。Rails强调“约定优于配置”,大大减少了开发者在项目设置上的工作...

Global site tag (gtag.js) - Google Analytics