我有一个烧瓶服务器,我希望能够存储请求开始的时间和结束的时间。由于数据库管理时间更好,我想我会做这样的事情
在请求开始时
start_time = time.now()
在请求开始时
time_taken = time.now() - start_time
然后在初始化我的日志项时执行类似的操作:
class LogItem(Base):
__tablename__ = 'log_items'
id = Column(Integer, primary_key=True, autoincrement=True)
endpoint = Column(String, nullable=False)
methods = Column(String, nullable=False)
status_code = Column(Integer, nullable=False)
start_time = Column(DateTime, nullable=False)
end_time = Column(DateTime, default=func.current_timestamp(), nullable=False)
def __init__(self, uuid, endpoint, methods, status_code, time_taken):
self.uuid = uuid
self.endpoint = endpoint
self.methods = str(list(methods))
self.status_code = status_code
self.start_time = # >>>>> something like func.current_timestamp() - time_taken <<<<<
所以end_time是根据数据库使用当前时间设置的,但是开始时间应该是current time - time_taken
。
我怎样才能实现这个目标