добавлен метод удаления строк в бд + настроен CORS на ip сайта
This commit is contained in:
56
main.py
56
main.py
@@ -39,7 +39,7 @@ wp.create_table()
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"], # или список разрешенных адресов, например ["http://localhost:8080"]
|
||||
allow_origins=["http://localhost:5173", "http://45.129.78.228:8000"], # или список разрешенных адресов, например [""]
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
@@ -351,7 +351,28 @@ def start_pars_two_istochnik():
|
||||
|
||||
wp.update_task(task_id, status='completed', finished_at=datetime.utcnow())
|
||||
|
||||
# Функции для автоматического запуска
|
||||
def scheduled_parser_1():
|
||||
"""Планировщик для первого парсера"""
|
||||
istochnik = "" # пустая строка = текущая дата
|
||||
start_pars_one_istochnik(istochnik.split("."))
|
||||
|
||||
def scheduled_parser_2():
|
||||
"""Планировщик для второго парсера"""
|
||||
start_pars_two_istochnik()
|
||||
|
||||
@app.on_event("startup")
|
||||
async def start_scheduler():
|
||||
"""Запуск планировщика при старте приложения"""
|
||||
scheduler.add_job(scheduled_parser_1, "cron", hour=10, minute=0)
|
||||
scheduler.add_job(scheduled_parser_2, "cron", hour=11, minute=0)
|
||||
|
||||
scheduler.start()
|
||||
|
||||
@app.on_event("shutdown")
|
||||
async def stop_scheduler():
|
||||
"""Остановка планировщика при выключении"""
|
||||
scheduler.shutdown()
|
||||
|
||||
class ParserOneRequest(BaseModel):
|
||||
time: str
|
||||
@@ -381,35 +402,10 @@ def get_settings():
|
||||
@app.post("/settings", summary="Метод сохранения настроек парсера")
|
||||
def set_settings(settings: sw.Source):
|
||||
return sw.update_source(settings)
|
||||
|
||||
# Функции для автоматического запуска
|
||||
def scheduled_parser_1():
|
||||
"""Планировщик для первого парсера"""
|
||||
print("Запуск планировщика парсера 1")
|
||||
istochnik = "" # пустая строка = текущая дата
|
||||
start_pars_one_istochnik(istochnik.split("."))
|
||||
|
||||
def scheduled_parser_2():
|
||||
"""Планировщик для второго парсера"""
|
||||
print("Запуск планировщика парсера 2")
|
||||
start_pars_two_istochnik()
|
||||
|
||||
@app.on_event("startup")
|
||||
async def start_scheduler():
|
||||
"""Запуск планировщика при старте приложения"""
|
||||
# Парсер 1 - каждый день в 6:00
|
||||
scheduler.add_job(scheduled_parser_1, "cron", hour=10, minute=0)
|
||||
|
||||
# Парсер 2 - каждый день в 7:00
|
||||
scheduler.add_job(scheduled_parser_2, "cron", hour=11, minute=0)
|
||||
|
||||
scheduler.start()
|
||||
print("Планировщик запущен: парсер 1 в 6:00, парсер 2 в 7:00")
|
||||
|
||||
@app.on_event("shutdown")
|
||||
async def stop_scheduler():
|
||||
"""Остановка планировщика при выключении"""
|
||||
scheduler.shutdown()
|
||||
@app.delete("/delete_task/{task_id}", summary="Метод удаления задачи")
|
||||
def delete_task(task_id: int):
|
||||
return print(wp.delete_task(task_id))
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# uvicorn.run("main:app", port=8001, reload=True)
|
||||
# uvicorn.run("main:app", port=8001, reload=True)
|
||||
|
||||
Reference in New Issue
Block a user