更改时区 #50

Merged
hnu202326010204 merged 6 commits from lianghao_branch into develop 1 month ago

@ -38,8 +38,8 @@ class User(db.Model):
email = db.Column(String(100), unique=True, nullable=False, index=True, comment='邮箱')
role_id = db.Column(Integer, ForeignKey('role.role_id'), nullable=False, comment='外键关联role表')
is_active = db.Column(Boolean, default=True, comment='是否激活')
created_at = db.Column(DateTime, default=datetime.utcnow, comment='创建时间')
updated_at = db.Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, comment='更新时间')
created_at = db.Column(DateTime, default=datetime.now, comment='创建时间')
updated_at = db.Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='更新时间')
# 关系
role = db.relationship('Role', backref=db.backref('users', lazy='dynamic'))
@ -177,8 +177,8 @@ class UserConfig(db.Model):
perturbation_configs_id = db.Column(Integer, ForeignKey('perturbation_configs.perturbation_configs_id'), default=None, comment='默认加噪算法')
perturbation_intensity = db.Column(Float, default=None, comment='默认扰动强度')
finetune_configs_id = db.Column(Integer, ForeignKey('finetune_configs.finetune_configs_id'), default=None, comment='默认微调方式')
created_at = db.Column(DateTime, default=datetime.utcnow)
updated_at = db.Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
created_at = db.Column(DateTime, default=datetime.now)
updated_at = db.Column(DateTime, default=datetime.now, onupdate=datetime.now)
# 关系
data_type = db.relationship('DataType')
@ -212,7 +212,7 @@ class Task(db.Model):
tasks_type_id = db.Column(Integer, ForeignKey('task_type.task_type_id'), nullable=False, comment='任务类型')
user_id = db.Column(Integer, ForeignKey('users.user_id'), nullable=False, index=True, comment='归属用户')
tasks_status_id = db.Column(Integer, ForeignKey('task_status.task_status_id'), nullable=False, comment='任务状态ID')
created_at = db.Column(DateTime, default=datetime.utcnow)
created_at = db.Column(DateTime, default=datetime.now)
started_at = db.Column(DateTime, default=None)
finished_at = db.Column(DateTime, default=None)
error_message = db.Column(Text, comment='错误信息')

@ -121,9 +121,9 @@ class TaskRepository(BaseRepository[Task]):
# 自动更新时间戳
if status_code == 'processing':
task.started_at = datetime.utcnow()
task.started_at = datetime.now()
elif status_code in ('completed', 'failed'):
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
return True

@ -242,7 +242,7 @@ class ImageStorage:
def _save_with_unique_name(self, image, target_dir: str) -> Tuple[str, str, int, int, int]:
"""保存图片并生成唯一文件名"""
timestamp = datetime.utcnow().strftime('%Y%m%d%H%M%S%f')
timestamp = datetime.now().strftime('%Y%m%d%H%M%S%f')
filename = f"{timestamp}_{uuid.uuid4().hex[:6]}.png"
path = os.path.join(target_dir, filename)

@ -249,7 +249,7 @@ class ImageService:
import uuid
from datetime import datetime
timestamp = datetime.utcnow().strftime('%Y%m%d%H%M%S%f')
timestamp = datetime.now().strftime('%Y%m%d%H%M%S%f')
filename = f"{timestamp}_{uuid.uuid4().hex[:6]}.png"
path = os.path.join(target_dir, filename)
image.save(path, format='PNG')

@ -234,7 +234,7 @@ class TaskService:
@staticmethod
def generate_flow_id():
"""生成唯一的flow_id"""
base = int(datetime.utcnow().timestamp() * 1000)
base = int(datetime.now().timestamp() * 1000)
task_repo = _get_task_repo()
while task_repo.find_one_by(flow_id=base):
base += 1
@ -468,7 +468,7 @@ class TaskService:
logger.warning(f"Could not cancel/stop RQ job: {e}")
# 更新为cancelled
if task_repo.update_status(task, 'cancelled'):
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
return task_repo.save()
return False
except Exception as e:

@ -108,7 +108,7 @@ class VipService:
code_info = {
'used': True,
'used_by': user_id,
'used_at': datetime.utcnow().isoformat()
'used_at': datetime.now().isoformat()
}
# 已使用的邀请码保留90天记录
@ -137,7 +137,7 @@ class VipService:
'used': False,
'used_by': None,
'used_at': None,
'created_at': datetime.utcnow().isoformat(),
'created_at': datetime.now().isoformat(),
'expires_days': expires_days
}

@ -55,7 +55,7 @@ def run_evaluate_task(task_id, clean_ref_dir, clean_output_dir,
processing_status = TaskStatus.query.filter_by(task_status_code='processing').first()
if processing_status:
task.tasks_status_id = processing_status.task_status_id
task.started_at = datetime.utcnow()
task.started_at = datetime.now()
db.session.commit()
logger.info(f"Starting evaluate task {task_id}")
@ -104,7 +104,7 @@ def run_evaluate_task(task_id, clean_ref_dir, clean_output_dir,
completed_status = TaskStatus.query.filter_by(task_status_code='completed').first()
if completed_status:
task.tasks_status_id = completed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
logger.info(f"Evaluate task {task_id} completed")
@ -117,7 +117,7 @@ def run_evaluate_task(task_id, clean_ref_dir, clean_output_dir,
failed_status = TaskStatus.query.filter_by(task_status_code='failed').first()
if failed_status:
task.tasks_status_id = failed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
return {'success': False, 'error': str(e)}

@ -60,7 +60,7 @@ def run_finetune_task(task_id, finetune_method, train_images_dir,
if processing_status:
task.tasks_status_id = processing_status.task_status_id
if not task.started_at:
task.started_at = datetime.utcnow()
task.started_at = datetime.now()
db.session.commit()
logger.info(f"Method: {finetune_method}, finetune_type: {finetune_type}")
@ -181,7 +181,7 @@ def run_finetune_task(task_id, finetune_method, train_images_dir,
completed_status = TaskStatus.query.filter_by(task_status_code='completed').first()
if completed_status:
task.tasks_status_id = completed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
logger.info(f"Finetune task {task_id} completed successfully")
@ -195,7 +195,7 @@ def run_finetune_task(task_id, finetune_method, train_images_dir,
failed_status = TaskStatus.query.filter_by(task_status_code='failed').first()
if failed_status:
task.tasks_status_id = failed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
task.error_message = str(e)
db.session.commit()
except:

@ -54,7 +54,7 @@ def run_heatmap_task(task_id, original_image_path, perturbed_image_path,
processing_status = TaskStatus.query.filter_by(task_status_code='processing').first()
if processing_status:
task.tasks_status_id = processing_status.task_status_id
task.started_at = datetime.utcnow()
task.started_at = datetime.now()
db.session.commit()
logger.info(f"Starting heatmap task {task_id}")
@ -127,7 +127,7 @@ def run_heatmap_task(task_id, original_image_path, perturbed_image_path,
completed_status = TaskStatus.query.filter_by(task_status_code='completed').first()
if completed_status:
task.tasks_status_id = completed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
logger.info(f"Heatmap task {task_id} completed")
@ -140,7 +140,7 @@ def run_heatmap_task(task_id, original_image_path, perturbed_image_path,
failed_status = TaskStatus.query.filter_by(task_status_code='failed').first()
if failed_status:
task.tasks_status_id = failed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
return {'success': False, 'error': str(e)}

@ -59,7 +59,7 @@ def run_perturbation_task(task_id, algorithm_code, epsilon, input_dir, output_di
processing_status = TaskStatus.query.filter_by(task_status_code='processing').first()
if processing_status:
task.tasks_status_id = processing_status.task_status_id
task.started_at = datetime.utcnow()
task.started_at = datetime.now()
db.session.commit()
logger.info(f"Starting perturbation task {task_id}")
@ -119,7 +119,7 @@ def run_perturbation_task(task_id, algorithm_code, epsilon, input_dir, output_di
completed_status = TaskStatus.query.filter_by(task_status_code='completed').first()
if completed_status:
task.tasks_status_id = completed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
db.session.commit()
logger.info(f"Perturbation task {task_id} completed successfully")
@ -132,7 +132,7 @@ def run_perturbation_task(task_id, algorithm_code, epsilon, input_dir, output_di
failed_status = TaskStatus.query.filter_by(task_status_code='failed').first()
if failed_status:
task.tasks_status_id = failed_status.task_status_id
task.finished_at = datetime.utcnow()
task.finished_at = datetime.now()
task.error_message = str(e)
db.session.commit()

@ -157,7 +157,7 @@ class TaskFactory(BaseFactory):
user_id = factory.LazyAttribute(lambda obj: UserFactory().user_id)
tasks_status_id = 1 # waiting
description = factory.Faker('sentence', locale='zh_CN')
created_at = factory.LazyFunction(datetime.utcnow)
created_at = factory.LazyFunction(datetime.now)
class PerturbationTaskFactory(TaskFactory):

Loading…
Cancel
Save