Exemplo n.º 1
0
def test_worker_unable_to_connect():
    socket_path = "tests/enp2"
    kwargs = dict(app="testapp",
                  endpoint=socket_path,
                  uuid="randomuuid",
                  disown_timeout=1,
                  heartbeat_timeout=2)
    w = Worker(**kwargs)
    w.run()
Exemplo n.º 2
0
def aggregate_group(request, response):
    raw = yield request.read()
    tid, cfg, data = msgpack.unpackb(raw)
    logger = get_logger_adapter(tid)
    logger.debug("Unpack raw data successfully")
    raw_data = map(msgpack.unpackb, data)
    ret = merge(raw_data)
    logger.debug("Data has been merged %s", ret)
    qts = map(
        int,
        map(lambda x: float(ret["count"]) * x / 100,
            cfg.get("values", [75, 90, 93, 94, 95, 96, 97, 98, 99])))
    try:
        ret = quants(qts, ret['data'])
    except Exception as err:
        logger.error(str(err))
        response.error(100, repr(err))
    else:
        logger.info("Result of group aggreagtion %s", ret)
        response.write(ret)
        response.close()


if __name__ == '__main__':
    W = Worker()
    W.run({
        "aggregate_host": aggregate_host,
        "aggregate_group": aggregate_group
    })
Exemplo n.º 3
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (c) 2012+ Tyurin Anton [email protected]
#
# This file is part of Combaine.
#
# Combaine is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Combaine is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

from cocaine.worker import Worker

from combaine.cloud.parsingapp import parse

if __name__ == "__main__":
    W = Worker(disown_timeout=300)
    W.run({"parse": parse})
Exemplo n.º 4
0
#!/usr/bin/python
# NB: this import have to be executed as early as possible
#     to guarantee proper initialization of ioloops in
#     each process of cocaine pool
import flowmastermind

from cocaine.decorators.wsgi import wsgi
from cocaine.worker import Worker

Worker().run({'http': wsgi(flowmastermind.app)})
Exemplo n.º 5
0
def main():
    w = Worker()
    w.run({"http": unicorn_tank})
Exemplo n.º 6
0
    log.setup_logger()
    logger = logging.getLogger('mm.init')
    logger.warn(
        'mm_inventory_logging is not set up properly in '
        'cocaine.conf, fallback to default logging service'
    )

from config import config
# TODO: rename inv module to 'inventory' when switched to using inventory worker
import inv as inventory
import helpers


def init_inventory_worker(worker):
    helpers.register_handle_wne(worker, inventory.Inventory.get_dc_by_host)


DEFAULT_DISOWN_TIMEOUT = 2

if __name__ == '__main__':

    logger.info("before creating inventory worker")
    worker = Worker(disown_timeout=config.get('disown_timeout', DEFAULT_DISOWN_TIMEOUT))
    logger.info("after creating inventory worker")

    init_inventory_worker(worker)

    logger.info("Starting inventory worker")
    worker.run()
    logger.info("Inventory worker stopped")
Exemplo n.º 7
0
Arquivo: echo.py Projeto: sguzwf/echo
def main():
    w = Worker()
    w.run({"http": echo})
Exemplo n.º 8
0
#!/usr/bin/env python
# For YaSubbotnik at 15.06.2013

from cocaine.worker import Worker

W = Worker()  # Dispatcher object


def event_handler(request, response):
    req = yield request.read()  # Read incoming data
    if "Hello!" in req:
        response.write("Hello, world!")  # Send data chunk
    else:
        response.write("Please, say 'Hello' to me!")
    response.close()


W.run({"hello": event_handler})  # Run event loop - ready to work!
Exemplo n.º 9
0
#!/usr/bin/env python
import logging
import os

from cocaine.decorators.wsgi import django
from cocaine.logging import LoggerHandler
from cocaine.worker import Worker

__author__ = 'Evgeny Safronov <*****@*****.**>'

PROJECT_NAME = 'enterprise'

log = logging.getLogger(__name__)
cocaineHandler = LoggerHandler()
log.addHandler(cocaineHandler)

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))

worker = Worker()
worker.run({
    'work':
    django(
        **{
            'root': os.path.join(PROJECT_ROOT, PROJECT_NAME),
            'settings': '{0}.settings'.format(PROJECT_NAME),
            'async': True,
            'log': log
        })
})
Exemplo n.º 10
0
#!/usr/bin/env python
from __future__ import print_function, unicode_literals

from cocaine.worker import Worker
from cocaine.decorators import wsgi

from app import app

print("A")
w = Worker()
print("B")
w.run({"http": wsgi(app)})
Exemplo n.º 11
0
meta_session = elliptics.Session(meta_node)
meta_session.set_timeout(meta_wait_timeout)
meta_session.add_groups(list(config["metadata"]["groups"]))
logger.info("trace %d" % (i.next()))
n.meta_session = meta_session

mrsc_options = config['metadata'].get('options', {})

meta_db = None
if config['metadata'].get('url'):
    meta_db = MongoReplicaSetClient(config['metadata']['url'], **mrsc_options)

logger.info("trace %d" % (i.next()))
logger.info("before creating worker")
W = Worker(disown_timeout=config.get('disown_timeout', 2))
logger.info("after creating worker")

b = balancer.Balancer(n, meta_db)


def register_handle(h):
    @wraps(h)
    def wrapper(request, response):
        start_ts = time()
        req_uid = uuid.uuid4().hex
        try:
            data = yield request.read()
            data = msgpack.unpackb(data)
            logger.info(':{req_uid}: Running handler for event {0}, '
                        'data={1}'.format(h.__name__,
Exemplo n.º 12
0
def main():
    w = Worker()
    w.run({"ping": echo, "inc": inc, "getfile": http_getfile})
Exemplo n.º 13
0
def main():
    w = Worker()
    w.on("ping", echo)
    w.run()
Exemplo n.º 14
0
def test_worker_missing_args():
    Worker()
Exemplo n.º 15
0
def test_worker_wrong_timeouts():
    Worker(heartbeat_timeout=1, disown_timeout=2)