def heartbeat(): """ send a heartbeat to all kraken """ logging.info('ping krakens!!') with kombu.Connection( current_app.config['CELERY_BROKER_URL']) as connection: instances = models.Instance.query_existing().all() task = task_pb2.Task() task.action = task_pb2.HEARTBEAT for instance in instances: try: config = load_instance_config(instance.name) exchange = kombu.Exchange(config.exchange, 'topic', durable=True) producer = connection.Producer(exchange=exchange) producer.publish(task.SerializeToString(), routing_key='{}.task.heartbeat'.format( instance.name)) except Exception as e: logging.error( "Could not ping krakens for instance {i}: {e}".format( i=instance, e=e))
# # Stay tuned using # twitter @navitia # IRC #navitia on freenode # https://groups.google.com/d/forum/navitia # www.navitia.io import kombu from navitiacommon import task_pb2 import datetime connection = kombu.Connection() exchange = kombu.Exchange('navitia', 'topic', durable=True) producer = connection.Producer(exchange=exchange) task = task_pb2.Task() task.action = 2 task.at_perturbation.uri = 'testajn2' #task.at_perturbation.object.object_uri = 'line:SIT10' #task.at_perturbation.object.object_type = 1 task.at_perturbation.object.object_uri = 'stop_area:SIT150' task.at_perturbation.object.object_type = 5 task.at_perturbation.start_application_date = 0 task.at_perturbation.end_application_date = 1390033727 task.at_perturbation.start_application_daily_hour = 0 task.at_perturbation.end_application_daily_hour = 86399 # for i in range(10000): producer.publish(task.SerializeToString(), routing_key='realtime.at')