def make_db_document_specific_fields(self): expires_at = self.expires_at if not expires_at: expires_at = timeutils.ttl(self.default_ttl) return { "user_id": self.user_id, "expires_at": expires_at, "model_id": self.model_id, "initiator_id": self.initiator_id }
def create(cls, user_id, ttl=None): ttl = ttl or CONF["common"]["password_reset_ttl_in_seconds"] expires_at = timeutils.ttl(ttl) new_password_reset = cls() new_password_reset.user_id = user_id new_password_reset.expires_at = expires_at def create(model): model._id = model.generate_new_id() model.save() return model return retryutils.simple_retry()(create)(new_password_reset)
def cancel(self): """Cancels task execution.""" query = { "time.failed": 0, "time.completed": 0, "time.cancelled": 0, } setfields = { "time.cancelled": timeutils.current_unix_timestamp(), TTL_FIELDNAME: timeutils.ttl(self.default_ttl) } return self._update(query, setfields, exceptions.CannotCancelTaskError)
def fail(self, error_message="Internal error"): """Fails task execution.""" query = { "time.failed": 0, "time.completed": 0, "time.cancelled": 0, "time.started": {"$ne": 0} } setfields = { "time.failed": timeutils.current_unix_timestamp(), "error": error_message, TTL_FIELDNAME: timeutils.ttl(self.default_ttl) } return self._update(query, setfields, exceptions.CannotFailTask)
def prolong(self, ttl=None): self.expires_at = timeutils.ttl(ttl or self.default_ttl) self.collection().update_one( {"_id": self._id}, {"$set": {"expires_at": self.expires_at}} )