1- from datetime import datetime , timezone
2-
31import sqlalchemy as sa
42
53from celery import states
64from sqlalchemy .types import PickleType
75
8- from backend .common .model import MappedBase
6+ from backend .common .model import MappedBase , TimeZone
7+ from backend .utils .timezone import timezone
98
109"""
1110重写 celery.backends.database.models 内部所有模型,适配 fba 创建表和 alembic 迁移
@@ -23,9 +22,9 @@ class Task(MappedBase):
2322 status = sa .Column (sa .String (64 ), default = states .PENDING )
2423 result = sa .Column (PickleType , nullable = True )
2524 date_done = sa .Column (
26- sa . DateTime ,
27- default = datetime . now ( timezone .utc ) ,
28- onupdate = datetime . now ( timezone .utc ) ,
25+ TimeZone ,
26+ default = timezone .now ,
27+ onupdate = timezone .now ,
2928 nullable = True ,
3029 )
3130 traceback = sa .Column (sa .Text , nullable = True )
@@ -87,7 +86,7 @@ class TaskSet(MappedBase):
8786 id = sa .Column (sa .Integer , sa .Sequence ('taskset_id_sequence' ), autoincrement = True , primary_key = True )
8887 taskset_id = sa .Column (sa .String (155 ), unique = True )
8988 result = sa .Column (PickleType , nullable = True )
90- date_done = sa .Column (sa . DateTime , default = datetime . now ( timezone .utc ) , nullable = True )
89+ date_done = sa .Column (TimeZone , default = timezone .now , nullable = True )
9190
9291 def __init__ (self , taskset_id , result ) -> None : # noqa: ANN001
9392 self .taskset_id = taskset_id
0 commit comments