Day25 - 透过 Rake 自动下载处理台湾证券交易所的资料

前言

已经能从「台湾证券交易所」抓资料、存入 DB,接下来要做自动化处理

说明

由於我电脑没有 24 小时开着,加上专案也不会一直开着,需要时才会手动下 Rake 执行,因此没有写在 schedule,这部分可因需求,自行调整,这边以 Rake 为例

实作

# lib/tasks/twse.rake

namespace :twse do

  desc "auto execute all"
  task auto: :environment do
    Rake::Task["twse:download_all"].invoke
    Rake::Task["twse:save_all"].invoke
  end

  desc "download twse ALLBUT0999、TWT49U data"
  task download_all: :environment do
    Rake::Task["twse:download_file"].invoke
    Rake::Task["twse:download_dr_file"].invoke
  end

  desc "download twse ALLBUT0999 每日收盘行情(全部(不含权证、牛熊证、可展延牛熊证)) data"
  task download_file: :environment do
    Twse::Allbut0999::Download.new.execute
  end

  desc "download twse TWT49U 除权除息计算结果表 data"
  task download_dr_file: :environment do
    Twse::Twt49u::Download.new.execute
  end

  desc "ALLBUT0999、TWT49U CVS save to database"
  task save_all: :environment do
    Rake::Task["twse:save_dr_to_db"].invoke
    Rake::Task["twse:save_to_db"].invoke
  end

  desc "ALLBUT0999 CVS save to database"
  task save_to_db: :environment do
    Twse::Allbut0999::SaveToDb.new.execute
  end

  desc "TWT49U CVS save to database"
  task save_dr_to_db: :environment do
    Twse::Twt49u::SaveToDb.new.execute
  end

end

在 Terminal 输入

rake twse:auto

# or

bundle exec rake twse:auto

实际执行画面

小结

现在只需要手动下一行 code 就会自动下载、存入 DB、上传到 GitHub,非常的方便

工程师的特性,发现要做重复的事情时,会想办法做成自动化处理~


铁人赛文章连结:https://ithelp.ithome.com.tw/articles/10273391
medium 文章连结:https://link.medium.com/wzKY4dNuTjb
本文同步发布於 小菜的 Blog https://riverye.com/

备注:之後文章修改更新,以个人部落格为主


<<:  结语

>>:  企划实现(23)

Day 09 function ?? class ??

第九天~ 昨天我们介绍了 Component, 提到了说在 React 里,建立 Component...

etcd 元件浅解

在 Kubernetes 中元件间的通讯都是藉由 API Server 通讯,而 API Serve...

Day01 - 铁人赛我又来罗

避免像去年一样焦头烂额,这次提前至 7 月开始准备铁人赛, 即便提早准备,也不知要写什麽... 只准...

09 - Metrics - 观察系统的健康指标 (3/6) - 使用 Metricbeat 掌握 Infrastructure 的健康状态 Host 篇

Metrics - 观察系统的健康指标 系列文章 (1/6) - Metrics 与 Metricb...

Day 26 - Palindrome Number

大家好,我是毛毛。ヾ(´∀ ˋ)ノ 废话不多说开始今天的解题Day~ 9. Palindrome N...