This commit is contained in:
2
task/__init__.py
Normal file
2
task/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from task.manager_task import manager_task
|
||||
from task.hot_topic.douban import spider_task as douban_hot_topic_task
|
||||
Binary file not shown.
Binary file not shown.
15
task/hot_topic/douban.py
Normal file
15
task/hot_topic/douban.py
Normal file
@ -0,0 +1,15 @@
|
||||
from task.manager_task import execute_task
|
||||
from seek.douban_com.douban_group_seek import DoubanGroupSeek
|
||||
from utils import logger
|
||||
|
||||
|
||||
def spider_task():
|
||||
logger.info(f"Douban hot topic spider task start execute......")
|
||||
# 社畜买房共进会 小组 ID 为 677158
|
||||
douban_group_seek = DoubanGroupSeek(group_id=677158)
|
||||
douban_group_seek.seek()
|
||||
logger.info(f"Douban hot topic spider task end execute......")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
execute_task(spider_task)
|
||||
@ -6,7 +6,7 @@ from apscheduler.schedulers.blocking import BlockingScheduler
|
||||
from config import config
|
||||
from database.database import get_session
|
||||
from database.tscheduler.crud import get_tasks_by_executor
|
||||
from log.log_manager import log
|
||||
from utils import logger
|
||||
|
||||
"""
|
||||
这是一个特殊的任务,负责管理任务,命名为管理者任务。
|
||||
@ -24,10 +24,10 @@ def log_task_execution(task_name: str, start_time: float, end_time: float = None
|
||||
start_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(start_time))
|
||||
end_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(end_time))
|
||||
if end_time is None:
|
||||
log(f"{task_name} start execute at {start_time_str}")
|
||||
logger.info(f"{task_name} start execute at {start_time_str}")
|
||||
else:
|
||||
elapsed_time = end_time - start_time
|
||||
log(f"{task_name} end execute at {end_time_str}, use time {elapsed_time:.2f} seconds")
|
||||
logger.info(f"{task_name} end execute at {end_time_str}, use time {elapsed_time:.2f} seconds")
|
||||
|
||||
|
||||
def execute_task(task: callable):
|
||||
@ -66,7 +66,7 @@ def load_tasks(scheduler: BlockingScheduler):
|
||||
replace_existing=True,
|
||||
misfire_grace_time=interval_seconds
|
||||
)
|
||||
log(f"Task {task.task_name} added with interval {interval_seconds} seconds")
|
||||
logger.info(f"Task {task.task_name} added with interval {interval_seconds} seconds")
|
||||
elif trigger == "cron":
|
||||
# 解析 cron 表达式的字段
|
||||
fields = task.cron_expression.split()
|
||||
@ -90,7 +90,7 @@ def load_tasks(scheduler: BlockingScheduler):
|
||||
id=str(task_id),
|
||||
replace_existing=True
|
||||
)
|
||||
log(f"Task {task.task_name} added with cron {task.cron_expression}")
|
||||
logger.info(f"Task {task.task_name} added with cron {task.cron_expression}")
|
||||
elif trigger == "date":
|
||||
scheduler.add_job(
|
||||
task_function,
|
||||
@ -99,13 +99,13 @@ def load_tasks(scheduler: BlockingScheduler):
|
||||
id=str(task_id),
|
||||
replace_existing=True
|
||||
)
|
||||
log(f"Task {task.task_name} added with date {task.execution_date}")
|
||||
logger.info(f"Task {task.task_name} added with date {task.execution_date}")
|
||||
else:
|
||||
log(f"Task Invalid trigger type: {trigger}")
|
||||
logger.warning(f"Task Invalid trigger type: {trigger}")
|
||||
else:
|
||||
log(f"Task {task.task_name} already exists......")
|
||||
logger.info(f"Task {task.task_name} already exists......")
|
||||
run_time = job.next_run_time - job.trigger.start_date
|
||||
log(f"Task {task.task_name} already exists, run time is {run_time}")
|
||||
logger.info(f"Task {task.task_name} already exists, run time is {run_time}")
|
||||
|
||||
# 管理者任务
|
||||
def manager_task(scheduler: BlockingScheduler):
|
||||
|
||||
Reference in New Issue
Block a user