My Flask 애플리케이션은 매 순간마다 일부 데이터베이스 정보를 업데이트하기 위해 다른 웹 페이지를 긁어 내야합니다. 그래서 저는이 일을하기위한 배경 작업을했지만 불행히도 실제로는 데이터베이스를 수정하지 않고 자동으로 실패한 것으로 보입니다.플라스크 백그라운드 웹 스크 레이 핑 및 데이터베이스 업데이트
나는 다음과 같습니다 데이터베이스 연결이 있습니다
config.py :
class Configuration(object):
DATABASE = {
'name': 'database.db',
'engine': 'peewee.SqliteDatabase',
'check_same_thread': False,
}
__ 초기화 __.py :
import flask
app = flask.Flask(__name__)
from flask_peewee.db import Database
app.config.from_object('config.Configuration')
db = Database(app)
그리고 나는 읽기/쓰기 데이터베이스 항목 @ app.route() 함수 내에서. 주기적으로/긁어 내 웹 브라우저에 직접 다음
@app.route("/scrape")
def scrape_update_db():
user = User.get(id=5)
user.value += 1
user.save()
return "Done"
과 : 내가 좋아하는, 내 의견의 나머지를 넣어 때
from myapp import *
db.connect_db()
while True:
#scrape and update the database with commands similar to:
user = User.get(id=5)
user.value += 1
user.save()
코드는 작동 : 여기 scrape.py
배경 작업은입니다. 그래서 매분마다 http://localhost:80/scrape
에 연결하는 백그라운드 작업을 할 수있었습니다. 그러나 이것은 오히려 복잡하게 보입니다. 그리고 나는 그것이 (서버가 약한 하드웨어에서 실행 중이다) 계산 상 효율적이지 않을 것이라고 상상합니다.
백그라운드에서 데이터베이스 항목을 어떻게 업데이트 할 수 있습니까?