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
分享到:
相关推荐
**Ruby-GoOnRails:利用Rails生成器构建Golang应用** Ruby on Rails(简称Rails)是一种流行的Web开发框架,以其“约定优于配置”的理念和高效的开发速度受到开发者喜爱。而Go(Golang)则是一种静态类型、编译型的...
在Ruby on Rails框架中,Paperclip是一个非常流行的用于处理文件上传的库。它提供了一种简单而优雅的方式来管理和处理模型中的附件,如图片、文档等。Paperclip与ActiveRecord紧密集成,使得在Rails应用中添加文件...
这个对象会将上传的文件暂存到一个临时目录,并提供一个文件名属性,该属性可能需要进行编码转换才能正确地保存到服务器的文件系统上。 解决中文文件名乱码问题的一个常见方法是使用`iconv`库。`iconv`是一个强大的...
在Ruby on Rails(Rails)框架中,为文件上传添加进度条功能可以显著提升用户体验,让用户在上传大文件时能够清楚地看到进度,增加交互性。本文将深入探讨如何在Rails应用中实现这一功能。 首先,我们需要理解文件...
# 保存上传的文件或图片到服务器 @upload = Upload.new(upload_params) if @upload.save respond_to do |format| format.html { redirect_to root_path, notice: 'File uploaded successfully.' } format.js ...
本篇文章将深入探讨Rails中的文件上传机制,并结合给定的“rails 文件上传”主题,提供关于如何在Rails应用中实现文件上传的详细知识。 1. **ActionDispatch::Http::UploadedFile**: 当用户通过表单上传文件时,...
jquery-fileupload-rails, 用于 Rails的jQuery文件上传集成 Rails 文件上传jQuery-File-Plugin 是一个文件上传插件,由的Tschan 。 jQuery文件上传功能多文件选择。drag&拖放支持。进度栏和jQuery预览图像。 支持...
这可能涉及到阅读Rails应用的控制器、模型、视图和库文件,找出生成CHM的具体实现。同时,标签“工具”意味着可能涉及到了其他辅助工具,如文本处理、HTML转换或版本控制工具,它们可能在生成和管理CHM文档过程中...
rails_layout, 为各种前端框架生成 Rails 应用程序布局文件 RailsLayout gem使用这里 gem 可以设置你选择的前端框架的布局文件:Zurb基础 5.3Bootstrap 4.0Bootstrap 3.3它还将为 Bootstrap 或者基础设置设计视图。...
Rails提供了多种处理文件上传的方法,包括直接存储到本地文件系统、使用云存储服务(如Amazon S3)以及第三方库如Paperclip、Carrierwave或ActiveStorage等。在升级Rails版本后,我们需要关注以下几个关键知识点: ...
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
`sitemap_generator` gem 是一个适用于Ruby on Rails框架的开源工具,它能够自动扫描你的Rails应用,生成包含所有路由的Sitemap。安装这个gem非常简单,只需要在Gemfile中添加以下行: ```ruby gem 'sitemap_...
最后,创建测试的 Rails 应用程序,并启动 Mongrel 服务器。 知识点1:Ruby 安装 * 下载 Ruby One-Click Installer 版本 * 安装 Ruby * 检查 Ruby 版本 知识点2:Rails 安装 * 下载 Rails 2.0.2 版本 * 安装 ...
在Ruby on Rails开发的世界里,将Web应用程序打包成可执行文件是一个常见的需求,尤其是在需要部署到没有Ruby环境的服务器或者希望提供用户一个独立运行的软件时。标题中的“终于知道怎么把rails Web程序打包成可...
3. 文件生成与下载:Rails 内置的 send_data 和 send_file 方法可用于在服务器端生成文件后发送到客户端下载。 五、源码学习步骤 1. 阅读项目 README 文件,了解基本用法和安装步骤。 2. 分析 models 文件,理解...
这会生成一个包含所有必要文件和目录结构的新Rails项目。接下来,你可以通过以下命令进入Rails的控制台,也称为Console: ```bash rails c 或者 rails console ``` 在控制台中,你可以直接操作应用的数据模型和...
Paperclip 是 Rails 框架的一个插件,用于扩展 ActiveRecord 以支持简单的文件附件的功能。 标签:Paperclip