vas_task.py 953 B

1234567891011121314151617181920212223242526272829303132
  1. from sqlalchemy import Column, Integer, String, DateTime, JSON, Enum
  2. from datetime import datetime
  3. from app.core.database import Base
  4. class VasTask(Base):
  5. __tablename__ = "vas_task"
  6. id = Column(Integer, primary_key=True, autoincrement=True)
  7. order_id = Column(String(128), nullable=False)
  8. routing_key = Column(String(255), nullable=False)
  9. priority = Column(Integer, default=0)
  10. script_version = Column(String(50))
  11. config = Column(JSON)
  12. status = Column(
  13. Enum('pending','grabbed','running','cancelled','completed'),
  14. default='pending'
  15. )
  16. user_inputs = Column(JSON)
  17. grabbed_history = Column(JSON)
  18. meta = Column(JSON)
  19. attempt_count = Column(Integer, default=0)
  20. notify_count = Column(Integer, default=0)
  21. expire_at = Column(DateTime)
  22. created_at = Column(DateTime, default=datetime.utcnow)
  23. updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)