desc 'hainan upload college'
namespace :hn_upload_college do
task :generate => :environment do
require"net/ftp"
@time = Time.now - 1.month
@year = @time.year.to_s
if @time.month < 10
@month = "0"+@time.month.to_s
else
@month = @time.month.to_s
end
@fday = "0"+@time.beginning_of_month.day.to_s
@lday = @time.end_of_month.day.to_s
filename = @year+@month+"-WLAN-GaoXiao.csv"
local_path = "#{RAILS_ROOT}/tmp/import/#{filename}"
sql = "select i.citycn,i.towncn,d.code_name,w.sampleyear,w.samplemonth,round((sum(RXBytesTotal)+sum(TXBytesTotal))/1000,2) flow
from device_infos i,wlan_ap_perf_aggr_month w,dic_codes d
where i.ap(+) = w.ap
and i.port_type = d.id(+)
and d.code_name = '高校'
and w.sampleyear = to_char(add_months(sysdate,-1),'yyyy')
and w.samplemonth = to_char(add_months(sysdate,-1),'mm')
group by i.citycn,i.towncn,d.code_name,w.sampleyear,w.samplemonth"
con = External.connection()
@aps = con.select_all(sql)
local_file = File.new(local_path, "w")
date = ["报表分析时间范围:".to_iso,@year+"/"+@month+"/"+@fday,@year+"/"+@month+"/"+@lday]
local_file << date.join(",") + "\n"
header = ["地市".to_iso,"郊县".to_iso,"热点类型".to_iso,"年份".to_iso,"月份".to_iso,"无线侧流量(MB)".to_iso]
local_file << header.join(",") + "\n"
@aps.each do |ap|
data=[]
for b in %w[citycn towncn code_name sampleyear samplemonth flow]
ap["#{b}"] ? a=ap["#{b}"].to_s.to_iso : a=''
data<<a
end
local_file << data.join(",") + "\n"
end
local_file.close
uploadftp(local_path)
end
end
def uploadftp(file)
ftp_config = YAML.load_file("#{RAILS_ROOT}/config/value_analysis.yml").symbolize_keys!
Net::FTP.open(ftp_config[:hn_upload_host], ftp_config[:hn_upload_username], ftp_config[:hn_upload_password]) { |ftp|
ftp.put file, File.join(ftp_config[:hn_upload_remote_path], File.basename(file))
}
end
分享到:
相关推荐
GoOnRails: 一个Rails生成器用于生成Go代码并集成Go APIs至一个Rails app中
jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...
可实现多文件的同时上传,控制文件的格式,数量,同时兼容IE6,7,firefox,易于扩展
rails_layout, 为各种前端框架生成 Rails 应用程序布局文件 RailsLayout gem使用这里 gem 可以设置你选择的前端框架的布局文件:Zurb基础 5.3Bootstrap 4.0Bootstrap 3.3它还将为 Bootstrap 或者基础设置设计视图。...
NULL 博文链接:https://mylir.iteye.com/blog/800734
swagger-docs, 为 Rails api生成 swagger ui json文件,使用简单的DSL Swagger::Docs使用api为 Rails 应用生成swagger的ui json文件。 你可以向控制器类添加 swagger DSL,然后运行一个rake任务来生成json文件。 ...
nifty-generators, 有用的Rails 生成器脚本集合 漂亮的生成器用于脚手架,布局文件,身份验证和更多的有用 Rails 生成器脚本的集合。设置 Rails 3将 gem 添加到你的。gem"nifty-generators", :group => :developm
NULL 博文链接:https://dendrobium.iteye.com/blog/305938
NULL 博文链接:https://zyn-zyn.iteye.com/blog/1163143
Paperclip 是 Rails 框架的一个插件,用于扩展 ActiveRecord 以支持简单的文件附件的功能。 标签:Paperclip
css和图片 博文链接:https://hideto.iteye.com/blog/197517
简单的CLI利用Docker生成和运行Rails的环境
chef-rails, 厨房设置一个可以与 Nginx 和 Rails 一起滚动的Ubuntu服务器 主厨 rails安装一个准备为 Ruby on Rails 栈准备的Ubuntu服务器:NginxPostgreSQLRedisMemcached带RVM的rubyPhusion乘客独立要求Ubuntu ...
rails server命令启动web服务器的默认端口号为3000,当然我们也可以自定义指定端口号。
Rails Erd - 为Rails应用程序生成实体关系图
使用Rails生成Golang代码或管理Go应用开发go-on-rails是Rails生成器,旨在: 帮助开发和集成一些用Golang编写的API到现有的Rails应用程序,以实现高性能使用您熟悉的Rails工具开发和管理Golang应用程序项目将不太...
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
3.1 版的 ruby on rails, 开发者必读,两种格式。
安装在Gemfile中: gem 'rails-uploader'在航线上: mount Uploader :: Engine => '/uploader' 迁移ActiveRecord: $ bundle exec rails g uploader:install用法存储上传文件的架构(cancan集成): class Asset <...