'Restore ticker_storage from database and re-initialize the
handler from storage. This is triggered by the server at
restart.
Args:
server_reload (bool, optional): If this is False, it means
the server went through a cold reboot and all
non-persistent tickers must be killed.'

def restore(self, server_reload=True):

    restored_tickers = ServerConfig.objects.conf(key=self.save_name)
    if restored_tickers:
        restored_tickers = dbunserialize(restored_tickers)
        self.ticker_storage = {}
        for (store_key, (args, kwargs)) in restored_tickers.iteritems():
            try:
                (obj, callfunc, path, interval, idstring, persistent) = store_key
                if ((not persistent) and (not server_reload)):
                    continue
                if (isinstance(callfunc, basestring) and (not obj)):
                    continue
                store_key = self._store_key(obj, path, interval, callfunc, idstring, persistent)
                if (obj and callfunc):
                    kwargs['_callback'] = callfunc
                    kwargs['_obj'] = obj
                elif path:
                    (modname, varname) = path.rsplit('.', 1)
                    callback = variable_from_module(modname, varname)
                    kwargs['_callback'] = callback
                    kwargs['_obj'] = None
                else:
                    log_err(('Tickerhandler:    Removing    malformed    ticker:    %s' % str(store_key)))
                    continue
            except Exception:
                log_trace(('Tickerhandler:    Removing    malformed    ticker:    %s' % str(store_key)))
                continue
            self.ticker_storage[store_key] = (args, kwargs)
            self.ticker_pool.add(store_key, *args, **kwargs)
