使用sqlalchemy从DATETIME中减去时间来存储流程的开始和结束时间

时间:2017-05-04 06:05:21

标签: python postgresql datetime sqlalchemy

我有一个烧瓶服务器,我希望能够存储请求开始的时间和结束的时间。由于数据库管理时间更好,我想我会做这样的事情

在请求开始时

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

我怎样才能实现这个目标

0 个答案:

没有答案