Пример #1
0
    def __init__(self, trigger, func, args, kwargs, misfire_grace_time,
                 coalesce, name=None, max_runs=None, max_instances=1):
        if not trigger:
            raise ValueError('The trigger must not be None')
        if not hasattr(func, '__call__'):
            raise TypeError('func must be callable')
        if not hasattr(args, '__getitem__'):
            raise TypeError('args must be a list-like object')
        if not hasattr(kwargs, '__getitem__'):
            raise TypeError('kwargs must be a dict-like object')
        if misfire_grace_time <= 0:
            raise ValueError('misfire_grace_time must be a positive value')
        if max_runs is not None and max_runs <= 0:
            raise ValueError('max_runs must be a positive value')
        if max_instances <= 0:
            raise ValueError('max_instances must be a positive value')

        self._lock = Lock()

        self.trigger = trigger
        self.func = func
        self.args = args
        self.kwargs = kwargs
        self.name = to_unicode(name or get_callable_name(func))
        self.misfire_grace_time = misfire_grace_time
        self.coalesce = coalesce
        self.max_runs = max_runs
        self.max_instances = max_instances
        self.runs = 0
        self.instances = 0
Пример #2
0
    def __init__(self,
                 trigger,
                 func,
                 args,
                 kwargs,
                 misfire_grace_time,
                 coalesce,
                 name=None,
                 max_runs=None,
                 max_instances=1):
        if not trigger:
            raise ValueError('The trigger must not be None')
        if not hasattr(args, '__getitem__'):
            raise TypeError('args must be a list-like object')
        if not hasattr(kwargs, '__getitem__'):
            raise TypeError('kwargs must be a dict-like object')
        if misfire_grace_time <= 0:
            raise ValueError('misfire_grace_time must be a positive value')
        if max_runs is not None and max_runs <= 0:
            raise ValueError('max_runs must be a positive value')
        if max_instances <= 0:
            raise ValueError('max_instances must be a positive value')

        if isinstance(func, str):
            self.func = ref_to_obj(func)
            self.func_ref = func
        elif callable(func):
            self.func = func
            try:
                self.func_ref = obj_to_ref(func)
            except ValueError:
                # If this happens, this Job won't be serializable
                self.func_ref = None
        else:
            raise TypeError(
                'func must be a callable or a textual reference to one')

        self._lock = Lock()

        self.trigger = trigger
        self.args = args
        self.kwargs = kwargs
        self.name = to_unicode(name or get_callable_name(self.func))
        self.misfire_grace_time = misfire_grace_time
        self.coalesce = coalesce
        self.max_runs = max_runs
        self.max_instances = max_instances
        self.runs = 0
        self.instances = 0
Пример #3
0
    def __init__(
        self, trigger, func, args, kwargs, misfire_grace_time, coalesce, name=None, max_runs=None, max_instances=1
    ):
        if not trigger:
            raise ValueError("The trigger must not be None")
        if not hasattr(args, "__getitem__"):
            raise TypeError("args must be a list-like object")
        if not hasattr(kwargs, "__getitem__"):
            raise TypeError("kwargs must be a dict-like object")
        if misfire_grace_time <= 0:
            raise ValueError("misfire_grace_time must be a positive value")
        if max_runs is not None and max_runs <= 0:
            raise ValueError("max_runs must be a positive value")
        if max_instances <= 0:
            raise ValueError("max_instances must be a positive value")

        if isinstance(func, str):
            self.func = ref_to_obj(func)
            self.func_ref = func
        elif callable(func):
            self.func = func
            try:
                self.func_ref = obj_to_ref(func)
            except ValueError:
                # If this happens, this Job won't be serializable
                self.func_ref = None
        else:
            raise TypeError("func must be a callable or a textual reference to one")

        self._lock = Lock()

        self.trigger = trigger
        self.args = args
        self.kwargs = kwargs
        self.name = to_unicode(name or get_callable_name(self.func))
        self.misfire_grace_time = misfire_grace_time
        self.coalesce = coalesce
        self.max_runs = max_runs
        self.max_instances = max_instances
        self.runs = 0
        self.instances = 0
Пример #4
0
    def __init__(self,
                 trigger,
                 func,
                 args,
                 kwargs,
                 misfire_grace_time,
                 coalesce,
                 name=None,
                 max_runs=None,
                 max_instances=1):
        if not trigger:
            raise ValueError('The trigger must not be None')
        if not hasattr(func, '__call__'):
            raise TypeError('func must be callable')
        if not hasattr(args, '__getitem__'):
            raise TypeError('args must be a list-like object')
        if not hasattr(kwargs, '__getitem__'):
            raise TypeError('kwargs must be a dict-like object')
        if misfire_grace_time < 0:
            raise ValueError(
                'misfire_grace_time must be a positive value or 0')
        if max_runs is not None and max_runs <= 0:
            raise ValueError('max_runs must be a positive value')
        if max_instances <= 0:
            raise ValueError('max_instances must be a positive value')

        self._lock = Lock()

        self.trigger = trigger
        self.func = func
        self.args = args
        self.kwargs = kwargs
        self.name = to_unicode(name or get_callable_name(func))
        self.misfire_grace_time = misfire_grace_time
        self.coalesce = coalesce
        self.max_runs = max_runs
        self.max_instances = max_instances
        self.runs = 0
        self.instances = 0