def add(self, interval=60, callback=None, idstring='', persistent=True, *args, **kwargs):
    '\n        Add subscription to tickerhandler\n\n        Args:\n            interval (int, optional): Interval in seconds between calling\n                `callable(*args, **kwargs)`\n            callable (callable function or method, optional): This\n                should either be a stand-alone function or a method on a\n                typeclassed entity (that is, one that can be saved to the\n                database).\n            idstring (str, optional): Identifier for separating\n                this ticker-subscription from others with the same\n                interval. Allows for managing multiple calls with\n                the same time interval and callback.\n            persistent (bool, optional): A ticker will always survive\n                a server reload. If this is unset, the ticker will be\n                deleted by a server shutdown.\n            args, kwargs (optional): These will be passed into the\n                callback every time it is called.\n\n        Notes:\n            The callback will be identified by type and stored either as\n            as combination of serialized database object + methodname or\n            as a python-path to the module + funcname. These strings will\n            be combined iwth `interval` and `idstring` to define a\n            unique storage key for saving. These must thus all be supplied\n            when wanting to modify/remove the ticker later.\n\n        '
    if isinstance(callback, int):
        raise RuntimeError('TICKER_HANDLER.add has changed: the interval is now the first argument, callback the second.')
    (obj, path, callfunc) = self._get_callback(callback)
    store_key = self._store_key(obj, path, interval, callfunc, idstring, persistent)
    kwargs['_obj'] = obj
    kwargs['_callback'] = callfunc
    self.ticker_storage[store_key] = (args, kwargs)
    self.ticker_pool.add(store_key, *args, **kwargs)
    self.save()
Add subscription to tickerhandler

Args:
    interval (int, optional): Interval in seconds between calling
        `callable(*args, **kwargs)`
    callable (callable function or method, optional): This
        should either be a stand-alone function or a method on a
        typeclassed entity (that is, one that can be saved to the
        database).
    idstring (str, optional): Identifier for separating
        this ticker-subscription from others with the same
        interval. Allows for managing multiple calls with
        the same time interval and callback.
    persistent (bool, optional): A ticker will always survive
        a server reload. If this is unset, the ticker will be
        deleted by a server shutdown.
    args, kwargs (optional): These will be passed into the
        callback every time it is called.

Notes:
    The callback will be identified by type and stored either as
    as combination of serialized database object + methodname or
    as a python-path to the module + funcname. These strings will
    be combined iwth `interval` and `idstring` to define a
    unique storage key for saving. These must thus all be supplied
    when wanting to modify/remove the ticker later.
def add(self, interval=60, callback=None, idstring=, persistent=True, *args, **kwargs):
    '\n        Add subscription to tickerhandler\n\n        Args:\n            interval (int, optional): Interval in seconds between calling\n                `callable(*args, **kwargs)`\n            callable (callable function or method, optional): This\n                should either be a stand-alone function or a method on a\n                typeclassed entity (that is, one that can be saved to the\n                database).\n            idstring (str, optional): Identifier for separating\n                this ticker-subscription from others with the same\n                interval. Allows for managing multiple calls with\n                the same time interval and callback.\n            persistent (bool, optional): A ticker will always survive\n                a server reload. If this is unset, the ticker will be\n                deleted by a server shutdown.\n            args, kwargs (optional): These will be passed into the\n                callback every time it is called.\n\n        Notes:\n            The callback will be identified by type and stored either as\n            as combination of serialized database object + methodname or\n            as a python-path to the module + funcname. These strings will\n            be combined iwth `interval` and `idstring` to define a\n            unique storage key for saving. These must thus all be supplied\n            when wanting to modify/remove the ticker later.\n\n        '
    if isinstance(callback, int):
        raise RuntimeError('TICKER_HANDLER.add has changed: the interval is now the first argument, callback the second.')
    (obj, path, callfunc) = self._get_callback(callback)
    store_key = self._store_key(obj, path, interval, callfunc, idstring, persistent)
    kwargs['_obj'] = obj
    kwargs['_callback'] = callfunc
    self.ticker_storage[store_key] = (args, kwargs)
    self.ticker_pool.add(store_key, *args, **kwargs)
    self.save()