반응형
python 을 일정 시간, 시각 동작 시키는 것은 schedule 모듈을 활용하거나 time을 활용한다
방법은 너무 많으니 찾아보기 바란다
내가 하려는 것은 Python 으로 Flask를 구동 시켜서 html 페이지에 올라가는 데이터를 일정 주기로 바꿔서 올려주는 코드를 만들고 싶었다
python -> text -> python -> html 로 데이터가 전달이 되는데 html이 한번 구동 되면
데이터 변동이 있어도 반영이 안되었다
그래서 html을 종료시키고 새로운 데이터로 첨부터 다시 저 루트로 데이터를 받아서 html에 새로 보여주는 방법을 찾아보았다
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
이렇게 실행하면
이렇게 화면이 나오고 저 웹을 종료시키기 위해선 ctrl c를 직접 눌러줘야 한다
그래서 flask 구동 후 일정 시간 후에 시스템을 종료하는 코드를 작성하였다
import sys
from datetime import datetime
from flask import Flask, render_template, request
import os
import threading
import signal
def handle_alarm(signum, frame):
sys.exit()
# Flask 애플리케이션 종료
app = Flask(__name__)
# Define a route for the app
@app.route("/")
def index():
return render_template('index.html',
)
if __name__ == '__main__':
signal.signal(signal.SIGALRM, handle_alarm)
signal.alarm(30)
threading.Timer(30, lambda: None).start()
app.run(host='0.0.0.0', port=8080, debug=True, use_reloader=False)
30초 후에 종료되는 코드이며 시간은 main 에서 초 단위로 조절이 가능하다
반응형
'컴퓨터' 카테고리의 다른 글
쓰레드와 프로세스 차이 (0) | 2023.02.24 |
---|---|
computer architecture (0) | 2023.02.24 |
이진트리 (Binary Tree) 순회 - Preorder (0) | 2022.10.01 |
이진트리 (Binary Tree) 순회 - Inorder (0) | 2022.10.01 |
이진트리 (Binary Tree) 순회 - Postorder (1) | 2022.10.01 |