GithubHelp home page GithubHelp logo

neogenia-jp / stock_api Goto Github PK

View Code? Open in Web Editor NEW
0.0 6.0 0.0 298 KB

株式関連 WebAPI サーバ

License: Apache License 2.0

Ruby 71.60% Shell 13.77% JavaScript 4.11% CSS 0.77% HTML 7.10% Dockerfile 2.65%

stock_api's Introduction

Stock API

株式関連 API サーバ

Usage

事前に env_app.sh に環境変数を適切に設定しておく必要があります。

起動

rake init:development
rake compose:up_all

データ取込

rake rails:bash

# 以下は Rails コンテナ内での作業
bin/rails batch:quotations:load[202010]
bin/rails batch:quotations:load[202009]
bin/rails batch:quotations:load[202008]

データ取り込みが完了したら、ブラウザで以下のURLにアクセスしてみて下さい。 https://${docker_host}/inheritance?date=20201024&codes=1301

株価取得

Railsコンソール起動

rake rails:c

以下のようにして試すことが出来ます。

f = Stocks::StockPriceFinder.new
f.get_stock_price_by_date '1301', Date.new(2021,10,15)

curl コマンドでテストする場合

POSTで /inheritance を呼んで下さい。 パラメータとして、codes date が必須です。

実行例:

curl -X POST --data-urlencode 'codes=1301' --data-urlencode 'date=2021-10-01' http://localhost:8079/inheritance

コンテナへのアタッチ方法

起動中のコンテナの中へ入ってシェルを使用したい場合などは、rake rails:bash コマンドを使います。 スーパーユーザでのシェルが必要な場合は、rake rails:root_bash コマンドを使って下さい。

他にも様々な構成管理用の Rake タスクが定義されています。 rake -T としてどんなコマンドが利用可能か確認してみてください。

例1: Rails のデバッグ起動

rake rails:debug

例2: コンテナの終了および再起動

# 終了
rake compose:down

# 起動
rake compose:up_all

ローカルデバッグ用のHTTPS証明書の生成

mkcert を使ってローカルデバッグ用のHTTPS証明書を生成することができます。 ヘルパースクリプトが用意されているので、以下のように実行するだけです。 ※事前に mkcert がインストールされている必要があります。Macでは brew install mkcert とするだけでインストールできます。

revproxy/run_mkcert.sh

コマンドが正常終了すると revproxy/mnt/ ディレクトリに cert.pem key.pem ファイルが生成されますので、確認してください。

仮想マシンでDockerを利用している場合

mkcert は、Dockerを稼働させるPCではなくWebブラウザを起動するPCで行う必要があります。 仮想マシン環境で Docker を利用している場合は注意が必要です。 WebブラウザとDockerを稼働させる環境が異なる場合、以下のようにIPアドレスを追加指定することができます。

例: Dockerを稼働させるPCのIPアドレスが 192.168.59.105 の場合

revproxy/run_mkcert.sh 192.168.59.105

これで、ブラウザにて https://192.168.59.105/ とアクセスしてもHTTPS証明書エラーが出ないようになります。

取り込み処理のcron登録

# 毎月7日〜12日の 10時、19時 ただし月曜〜金曜のみ
1 10,19 7-12 * 1-5  docker exec stock_api_rails bin/rails batch:quotations:load[`date '+\%Y\%m' --date '1 month ago'`]

stock_api's People

Contributors

lobin-z0x50 avatar tomoprog avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar  avatar

stock_api's Issues

月間相場情報取得バッチの改善

月間相場情報取得バッチ batch:quotations:load の機能改善

  • 引数を省略可能にし、省略時は最新取得モードとして動くようにする
  • 最新取得モードでは 現在日付の前月が指定されたものとみなす
  • 最新取得モードでは すでにDBに該当月のデータが存在しているかどうかをチェックし、存在している場合は何もせず処理を終了する
  • バッチの引数に latest を指定すると最新取得モードで動くようにする

月間相場表の解析が正しくできなくなっている

月間相場票PDFの内部データが変わったのか、解析結果が期待通りでなくなった。
一行として出てきて欲しいデータが途中で改行されてしまっている。
そのため、データ取り込みが正しくできていない。

MicrosoftTeams-image

2023年3月までは、これまで通りの解析結果だった。
一行のデータが一行として解析される。

MicrosoftTeams-image (1)

PDFファイルの情報を調べてみると、2023年4月から、どうやらエンコーディングソフトが変更になっており、これが影響していると思われる。

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.