标准格式是:ActiveRecord::Base.connection.execute(sql)
namespace :opengoss do
desc "USAGES: rake opengoss:collect_rules"
task :collect_rules => :environment do
@collect_rules = CollectRule.find :all
@collect_rules.each do |rule|
type = rule.rule_type.to_i
case type
when 1
daily_collect_rule(rule.id)
when 2
weekly_collect_rule(rule.id)
when 3
monthly_collect_rule(rule.id)
end
end
end
def daily_collect_rule(id)
items = CollectRuleItem.find(:all, :conditions => ['collect_rule_id = ?',id.to_i])
unless items.empty?
items.each do |item|
update_aps(id,item)
end
end
end
def weekly_collect_rule(id)
now = Time.now
weekly = {'monday' =>1,'tuesday' => 2,'wednesday' => 3 , 'thursday' => 4 , 'friday' => 5 , 'saturday' => 6 ,'sunday' => 0 }
items = CollectRuleItem.find(:all, :conditions => ['collect_rule_id = ? and start_date = ? ',id.to_i, weekly.index(now.to_date.cwday)])
unless items.empty?
items.each do |item|
update_aps(id,item)
end
end
end
def monthly_collect_rule(id)
now = Time.now
items = CollectRuleItem.find_by_sql("SELECT * FROM `collect_rule_items` WHERE collect_rule_id = #{id}")
unless items.empty?
items.each do |item|
monthly_update_aps(id,item)
end
end
end
def update_aps(id,item)
now = Time.now
con1 = item.start_time < now.hour && item.end_time > now.hour && item.collect_option?
con2 = (item.start_time >= now.hour || item.end_time <= now.hour ) && !item.collect_option?
if con1 || con2
puts "11111"
ActiveRecord::Base.connection.execute("UPDATE `mit_aps` SET `mit_aps`.`ap_state` = 0 WHERE `mit_aps`.`collect_rule_id` = #{id}")
else
puts "2222"
ActiveRecord::Base.connection.execute("UPDATE `mit_aps` SET `ap_state` = 2 WHERE `mit_aps`.`collect_rule_id` = #{id}")
end
end
def monthly_update_aps(id,item)
date = Time.now.to_date
con1 = item.start_date.to_date < date && item.end_date.to_date > date && item.collect_option?
con2 = (item.start_date.to_date >= date || item.end_date.to_date <= date ) && !item.collect_option?
if con1 || con2
puts "33333"
ActiveRecord::Base.connection.execute("UPDATE `mit_aps` SET `mit_aps`.`ap_state` = 0 WHERE `mit_aps`.`collect_rule_id` = #{id}")
else
puts "4444"
ActiveRecord::Base.connection.execute("UPDATE `mit_aps` SET `mit_aps`.`ap_state` = 2 WHERE `mit_aps`.`collect_rule_id` = #{id}")
end
end
end
分享到:
相关推荐
NULL 博文链接:https://xieye.iteye.com/blog/481576
在Mac下rails环境的搭建,主要是基于rubymine的开发,包含了一些错误的处理方法
然后,它汇总并生成报告,以使您对Ra Rails SQL查询跟踪器中发生的所有SQL查询有更深入的了解,sql_tracker通过订阅Rails的sql.active_record事件通知来跟踪SQL查询。 然后,它汇总并生成报告,以为您提供有关Rails...
Ruby on Rails中文指南
Administrate - 一个框架用于在Rails中创建灵活的、强大的管理仪表板
检查Rails数据库快速方法,查看表的内容,将它们导出为CSV,EXPLAIN SQL并运行SQL查询。 演示可在以下获得: : 视频演示: ://youtu.be/TYsRxXRFp1g,https: 要求 版本>2.0 100%适用于Ruby 2.3 +,Rails 5和...
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...
Rails SQL查询跟踪器 sql_tracker通过订阅Rails的sql.active_record事件通知来跟踪SQL查询。 然后,它汇总并生成报告,以为您提供有关Rails应用程序中发生的所有SQL查询的见解。安装将此行添加到您的应用程序的...
ruby on rails 环境搭建, 在windows 和Linux下的详细方法。
rails 配置文档 ror ruby on rails
rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r
使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文
rails指南 中文版
SQL Server - Rails ActiveRecord的SQL Server适配器
Ruby On Rails中文教材(PDF)
Record Cache - 在Rails 3中缓存Active Model Records
在Ubuntu服务器上安装Rails生产环境的脚本
在过去的几年中,《Ruby on Rails Tutorial》这本书被视为介绍使用 Rails 进行 Web 开发的先驱者。 在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on ...