Exemple #1
0
class Cache():
    def __init__(self, host: str = 'localhost', port: int = 6379) -> None:
        self.__client = StrictRedis(host, port=port, decode_responses=True)
        self.__client.config_set('maxmemory', '600mb')
        self.__client.config_set('maxmemory-policy', 'allkeys-lru')
        self.__cache = RedisCache(redis_client=self.__client)
        self.__logger = Logger().getLogger(__file__)
        self.__logger.info("Initialize Cache.")

    def key_exists(self, *args):
        serialized_data = dumps([args[1:], {}])
        key = f'rc:{args[0]}:{serialized_data}'
        return self.__client.exists(key) >= 1

    def get_all_keys(self):
        return self.__client.keys()

    def get_key_count(self):
        return len(self.get_all_keys())

    def __call__(self, ttl=60 * 60 * 24 * 7, limit=5000, namespace=None):
        return self.__cache.cache(ttl, limit, namespace)
Exemple #2
0
                                     'font': {
                                         'color': 'white'
                                     },
                                     'x': 0.5
                                 })

            logger.info("Graph updated.")
            return dcc.Graph(id='test', figure=figure)
    return


@set_clear_filters_callback(app)
def clear_page(n_clicks):
    if get_trigger() == 'back':
        logger.info("Clearing filters.")
        return None, None
    else:
        return no_update


def get_trigger():
    ctx = dash.callback_context
    return ctx.triggered[0]['prop_id'].split('.')[0]


set_app_layout(app)

if __name__ == '__main__':
    logger.info("Starting server.")
    app.run_server(debug=True)