コード例 #1
0
ファイル: token.py プロジェクト: niupengju/ceph-lcm
    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
        }
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
    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)
コード例 #6
0
ファイル: task.py プロジェクト: aarzhanov/ceph-lcm
    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)
コード例 #7
0
    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)
コード例 #8
0
ファイル: token.py プロジェクト: yanyixing/mirantis-cephlcm
 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}}
     )