目前的定时任务是用cron + rake。
在rake中使用了log进行相关的信息记录,
rake :test_xxx => :environment do
# some operation
RAILS_DEFAULT_LOGGER.info "It takes #{end_time - start_time} to generate tippay message #{Time.now.to_s(:db)}"
end
在开发环境下发现是正常的,但是在产品环境中怎么也不能log,原来答案在这里:
http://www.ruby-forum.com/topic/149073
所以解决办法有两种,其实都一样:
1.在rake之前配置RAILS_DEFAULT_LOGGER.auto_flushing = true
2.在rake任务的block块内的最后面加上RAILS_DEFAULT_LOGGER.flush
===========================================
The good news is I've somehow worked around it by putting this as the
first line in all of my rake tasks:
RAILS_DEFAULT_LOGGER.auto_flushing = true
Now I'm seeing all my output again, yay!
But why should I have to do this? I think (but can't prove) that this
broke when I upgraded from 1.2.6 to 2.0.2. But if it was a Rails bug,
I would think this would be biting a lot of people, not just me.
Also I'm concerned about the effect this change will have on
performance, so I hope someone can shed some light here.
Thanks!
Jeff
===================================================
I guess you're asking about "auto_flushing", not "auto_loading"?
In 2.0.2, /railties/lib/initializer.rb, line 254:
http://github.com/github/rails/tree/c8da518bbfedc2a06b1d96912ddae00e57f21748/railties/lib/initializer.rb#L254
logger.auto_flushing = false if configuration.environment ==
"production"
This overwrites the default as set in active_support/buffered_logger,
line 41:
http://github.com/github/rails/tree/c8da518bbfedc2a06b1d96912ddae00e57f21748/activesupport/lib/active_support/buffered_logger.rb#L41
@auto_flushing = 1
By the way: in upcoming releases you'll find an additional different
default:
http://github.com/github/rails/tree/master/railties/lib/initializer.rb#L345-348
if configuration.environment == "production"
logger.auto_flushing = false
logger.set_non_blocking_io
end
分享到:
相关推荐
Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,需要安装 Mongrel 服务器。...
在Ruby on Rails框架中,`Rails 2.0.2`是一个较早的版本,而分页功能在那个时期并不像现在的Rails应用那样内置在框架内。为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在...
这个过程可能需要一些时间和耐心,但遵循上述步骤,您将成功建立一个兼容ruby1.8.6和rails2.0.2的开发环境。同时,提供的`安装说明.xls`文件应该包含更详细的步骤和可能遇到的问题解决方案,确保您在整个过程中得到...
在 Rails 应用程序中,Rake 通常用于数据库迁移、测试、清理等操作,以及启动后台任务。 在 Rails3 中,rake 不仅用于基本的项目管理,还可以用于启动后台任务,这在处理耗时操作、异步任务或者批量数据处理时非常...
描述中提到的“rake for rails”以及“rake-0.8.7安装rails必须资源”进一步强调了rake在Rails环境搭建和项目管理中的核心地位。 rake,源自英语单词“rake”(意为耙子),在编程世界里,它是一个构建自动化工具,...
来自practical rails social networking sites上的第二章的实例,应用了数据导入,导入数据到mysql后就可以使用,命令: rake db:migrate(进入文件夹"railscoder")
在Rails 2.0.2中,开发者可以体验到以下关键知识点: 1. **安装与设置**:Rails可以通过Gem包管理器进行安装。了解如何配置数据库连接、创建新项目、以及设置路由是初学者的基础。 2. **模型(Model)**:模型是...
在Ruby环境中安装Rails,这里选择了Rails 2.3.11版本。注意:实际上Rails 3推荐使用更高的版本,例如3.0或更高版本。不过为了保持与原始文件一致,这里仍采用2.3.11: ```bash gem install rails -v=2.3.11 ``` ##...
在Ruby on Rails框架中,数据库迁移是开发过程中不可或缺的一部分,用于管理数据库模式的变化。本文将深入探讨Rails中的rake工具和数据库迁移的概念,以及如何正确地利用它们。 首先,Rails中的Migration是数据库...
在Ruby on Rails框架中,`rake`是一个不可或缺的工具,它扮演着构建、部署和管理任务的角色。Rake,全称为“Ruby Make”,是Ruby语言的一个构建系统,灵感来源于Perl的Make工具和Ant。在Rails应用中,`rake`不仅用于...
bower-rails, 在 Rails 上,为 Bower 设置类似 DSL + rake任务 rails Bower 对 Rails 项目的支持。 依赖文件是 Rails root 目录中的bower.json,如果使用 DSL,则为 Bowerfile 。 查看最新变更和发布的变更日志文件...
标题与描述均提到了“ruby on rails安装环境”,这表明文档主要关注的是如何在特定的环境中设置Ruby on Rails。Ruby on Rails(常简称为Rails)是一种用于开发Web应用程序的开源框架,采用Ruby语言编写,遵循MVC...
在Ruby on Rails开发环境中,配置过程是至关重要的第一步。Rails是一个基于Ruby的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式。在安装完Ruby之后,配置Rails环境通常包括以下几个关键步骤: 1. **...
在初始化过程中,Rails 还会自动加载 `config/environment.rb` 文件,这是 Rails 应用程序的主要配置文件,它定义了应用程序的基本环境(如 development、test 或 production),并加载了所有相关的 gem 和库。...
3. 复制config/database.yml.example到config/database.yml,并在此文件中配置"production"环境下的数据库连接参数。 4. 在程序的根目录下运行命令创建数据库结构:rake db:migrate RAILS_ENV="production" 5. 运行...
在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...
在开发过程中,Aptana的调试工具是必不可少的。你可以设置断点,单步执行代码,查看变量值,帮助找出程序中的错误。此外,Aptana还集成了版本控制系统,如Git,你可以直接在IDE中完成提交、推送等操作。 Rails的另...
本文将详细介绍如何在Windows环境下配置Ruby on Rails以支持Rails 2.3.5及以上版本,并与MySQL进行无缝对接。 首先,我们需要安装Ruby for Windows。你可以从RubyForge网站上下载最新的One-Click Installer版本,...
在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型(models)、视图(views)和控制器(controllers)。模型负责业务逻辑和数据...