generated from kgod/ai-review-template
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
"""爬虫任务主表"""
|
|
from datetime import datetime
|
|
from sqlalchemy import BigInteger, String, Integer, DateTime
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from src.database.base import Base
|
|
|
|
|
|
class CrawlTask(Base):
|
|
"""爬虫任务主表 app_crawl_task"""
|
|
__tablename__ = "app_crawl_task"
|
|
|
|
id: Mapped[int] = mapped_column(BigInteger, primary_key=True, autoincrement=True)
|
|
company_name: Mapped[str] = mapped_column(String(255), nullable=False, unique=True)
|
|
|
|
# 配置阶段
|
|
config_step: Mapped[int] = mapped_column(Integer, default=1)
|
|
config_status: Mapped[str] = mapped_column(String(32), default="pending")
|
|
|
|
# 爬取阶段
|
|
crawl_status: Mapped[str | None] = mapped_column(String(32), default=None)
|
|
total_crawl_times: Mapped[int] = mapped_column(Integer, default=0)
|
|
last_crawl_at: Mapped[datetime | None] = mapped_column(DateTime, default=None)
|
|
|
|
# 时间戳
|
|
created_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.now)
|
|
updated_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.now, onupdate=datetime.now)
|