프로젝트

주식 적립식 투자앱 만들기 - 11

 

오늘 끝내고 싶었는데 못했다. 서버문제 때문에 삽질을 오지게함..

크롤링할 주식 목록이 총 7400개인데 벌쳐에 5달러짜리 서버로 크롤링 돌려놓으면 서버가 뻗는다.

이게 처음에는 안그런데 서서히 올라가서 결국엔 CPU 사용률 100퍼센트를 찍어버린다.

찾아보니깐 파이썬 메모리 가비지컬렉터 문제인거 같은데 del로 변수 삭제도 해보고, 가비지콜렉터 라이브러리 갖다 써보기도 했는데 잘 안되었다.

내가 파이썬에 대해 잘 몰라서 그런듯,, 변수를 참조하는게 있으면 del 키워드로도 메모리 삭제가 안된다는데 이런쪽 문제인것 같긴하다.

아무튼 머리도 아프고 빨리 완성시키고 싶기도 하고 해서 그냥 나눠서 돌려버렸다. 그래서 서버에 초기 데이터를 다 받긴 했다.

 

import os
import sys
import time

def run(): 
  arr = ['KOSPI', 'KOSDAQ', 'NYSE', 'NASDAQ']
  count = 0
  while(1):
    os.system('python ' + os.path.dirname(os.path.realpath(__file__)) + '/fetch.py COIN ' + arr[count % 4] + '&')
    count += 1
    time.sleep(24 * 60 * 60)

run()

 

이렇게 크롤링 파일 자동으로 하루에 코인하나 + 시장 하나씩만 업데이트용 크롤링 돌리도록 코드를 짜고 이 파일을 백그라운드로 실행시켜놓았다.

내 앱이 장투했을때 얼마나 버는지 행복회로를 돌리는 앱이라 굳이 매일매일 업데이트할 필요는 없다. 4일에 한번이면 충분하지않나싶다.

api 서버도 실행하고 앱에 데이터 넘겨주는것까지는 확인했다. 근데 데이터가 커서 그런지 좀 느림.. 한 5초정도 걸리는듯 

 

그리고 앱에는 달러 / 원화 변환시키는것 했다.

생각해보니 어차피 자산이나 수익률변화는 주식 변동 퍼센트로만 따지면 되서 달러냐 원화냐 하는건 신경쓸 필요가 전혀 없더라.

현재 주가에만 환율 곱해주면 되는거였다. 멍청하게 총 자산 구할때도 중간계산식에 환율변환시키고 있다가 깨달았다.. ㅋㅋ

그리고 에러 자잘한거 몇개 고쳤다.

 

이제 기능구현같은건 끝났고 도움말 페이지 하나 추가하고 아이콘이랑 스플래시화면 붙여다가 출시시키면 될 듯??