Пример #1
0
    def __init__(self):

        # Check is class name is properly constructed
        # like SomethingHandler
        if (self.__class__.__name__[-7:] != 'Handler'):
            raise ValueError(
                "Wrong handler class name : must be [something]Handler")

        self._handler_name = (self.__class__.__name__)[0:-7].lower()
        self._config = Config(self._handler_name)

        logging.debug("Initializing Handler's base for %s" %
                      self._handler_name)
        setproctitle("griotte-%s" % self._handler_name)

        self._ws = WebSocket()
        self._ws.add_listener("%s.command.ping" % self._handler_name,
                              self.ping)
        logging.debug("Added ping listener for %s" % self._handler_name)

        # Install signal handlers that child class can override
        signal.signal(signal.SIGINT, self._signal)
        signal.signal(signal.SIGTERM, self._signal)
        signal.signal(signal.SIGUSR1, self._signal)
        signal.signal(signal.SIGHUP, self._signal)
Пример #2
0
import json
import sys
import logging
from tornado.options import define, options

from griotte.websocket import WebSocket
from griotte.config import Config
import tornado.ioloop

Config("DEFAULT")

define("watchdog", default=0.1, help="Watchdog interval")

if __name__ == "__main__":

    def on_message(channel, message):
        logging.info(" >>> On channel \"%s\" : %s" % (channel, message))

    channels = ()
    channels = options.parse_command_line()

    if not channels:
        logging.warning("No channel specified, watching meta.presence")
        channels.append("meta.presence")

    ws = WebSocket()
    for chan in channels:
        ws.add_listener(chan, on_message)

    ws.start(detach=False, watchdog_interval=options.watchdog)
Пример #3
0
 def __init__(self, uri=None):
     self._ws = WebSocket(uri=uri)
     self._ws.start(watchdog_interval=2)
     self._subscriptions = {}