Exemplo n.º 1
0
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))
Exemplo n.º 2
0
#
# 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')