Exemplo n.º 1
0
def install_zmq_hooks():
    global pubsock, repsock, reqsock

    ioloop.install()
    context = zmq.Context()
    pubsock = context.socket(zmq.PUB)
    try:
        pubsock.bind(ADDR_PUB)

        # we succeeded, so we are king of the disk log and
        # the central queueing service for incoming points
        print "We are king"
        repsock = context.socket(zmq.REP)
        repsock.bind(ADDR_REQ)
        tstream = zmqstream.ZMQStream(repsock)
        tstream.on_recv(pass_msg)

        tornado.ioloop.PeriodicCallback(logger, TIMEOUT*1000).start()
    except zmq.ZMQError as e:
        print "Slave machine, spinning up"

    reqsock = context.socket(zmq.REQ)
    reqsock.connect(ADDR_REQ)
    tstream = zmqstream.ZMQStream(reqsock)
    tstream.on_recv(echo_msg)

    ptsock = context.socket(zmq.SUB)
    ptsock.setsockopt(zmq.SUBSCRIBE, "")
    ptsock.connect(ADDR_PUB)
    ptstream = zmqstream.ZMQStream(ptsock)
    ptstream.on_recv(runcmd)
Exemplo n.º 2
0
def main():  # pragma: no cover
    parser = ArgumentParser('Pubsub listener pushing to websockets.')
    parser.add_argument('config', help='path to the config file')
    args, settings = parser.parse_args(), {}
    load_into_settings(args.config, settings)
    config = settings['config']

    ioloop.install()
    sub_socket = zmq.Context().socket(zmq.SUB)
    sub_socket.connect(config.get('zeromq', 'sub'))
    sub_socket.setsockopt(zmq.SUBSCRIBE, 'PUSH')
    print 'SUB sub_socket on', config.get('zeromq', 'sub')

    loop = ioloop.IOLoop.instance()
    port = config.get('websockets', 'port')
    Push(zmqstream.ZMQStream(sub_socket, loop))
    application.listen(port)
    print 'websockets on :%s' % port

    # Send a status report every 10 seconds.
    cfg = config.get_map('storage')
    storage = DottedNameResolver(None).resolve(cfg.pop('backend'))(**cfg)
    ip = '%s:%s' % (socket.gethostbyname(socket.getfqdn()), port)
    callback = partial(report_status, storage, ip)

    period = config.get('monitor', 'period')
    ioloop.PeriodicCallback(callback, period * 1000).start()
    # Get in the pool right away.
    callback()

    loop.start()
def websocket_server(webport, nbdir):
    global nb_dir
    nb_dir = nbdir
    ioloop.install()
    try:
        application.listen(webport)
    except:
#        print('Port %d already in use!' % webport)
        sys.exit(2)
    main_loop = tornado.ioloop.IOLoop.instance()
    main_loop.start()
Exemplo n.º 4
0
def run_application(options, instance_name):
  from zmq.eventloop import ioloop
  ioloop.install()

  application = WebSocketGatewayApplication(options, instance_name)

  server = tornado.httpserver.HTTPServer(application)
  server.listen(options.port)

  try:
    tornado.ioloop.IOLoop.instance().start()
  except KeyboardInterrupt:
    application.clean_up()
def main(argv):
    global webport, nb_dir
    #try:
    opts, args = getopt.getopt(argv,"hp:d:",["port=","directory="])
    if opts == []:
        print 'drag-and-drop.py -p <port> -d <directory>'
        sys.exit(2)

    for opt, arg in opts:
        if opt == '-h':
            print 'drag-and-drop.py -p <port> -d <directory>'
            sys.exit()
        elif opt in ("-p", "--port"):
            webport = int(arg)
        elif opt in ("-d", "--directory"):
            nb_dir = arg


    print 'webport is "', webport
    print 'notebook directory is "', nb_dir

    if webport < 1000 or webport > 65535:
        print('Illegal webport adress %d' % webport)
        sys.exit(2)

    if not os.path.exists(nb_dir):
        print('Directory %s does not exist' % nb_dir)
        sys.exit(2)

    ioloop.install()
    try:
        application.listen(webport)
    except:
        print('Port %d already in use!' % webport)
        exit()
    main_loop = tornado.ioloop.IOLoop.instance()
    main_loop.start()
Exemplo n.º 6
0
import os
import sys
import json
import tornado
import tornado.web
import tornado.ioloop
import tornado.options
import tornado.httpserver
from tornado.options import define, options

from zmq.eventloop import ioloop


# Install ZMQ ioloop instead of a tornado ioloop
# http://zeromq.github.com/pyzmq/eventloop.html
ioloop.install()

from centrifuge.core import Application
from centrifuge.log import logger


define(
    "debug", default=False, help="tornado debug mode", type=bool
)

define(
    "port", default=8000, help="app port", type=int
)

define(
    "zmq_pub_listen", default="127.0.0.1", help="zmq pub listen", type=str
Exemplo n.º 7
0
import sys
import argparse
import tornado.ioloop
import tornado.web
import tornado.ioloop
from zmq.eventloop import ioloop
ioloop.install()
from crypto2crypto import CryptoTransportLayer
from market import Market
from ws import WebSocketHandler
import logging
import signal
import threading


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.redirect("/html/index.html")


class MarketApplication(tornado.web.Application):
    def __init__(self, my_market_ip, my_market_port, seed_uri, market_id,
                 seed_guid):

        self.transport = CryptoTransportLayer(my_market_ip, my_market_port,
                                              market_id)
        self.transport.join_network(seed_uri, seed_guid)
        self.market = Market(self.transport)

        handlers = [(r"/", MainHandler), (r"/main", MainHandler),
                    (r"/html/(.*)", tornado.web.StaticFileHandler, {