import os import sys import logging import tornado from tornado.web import Application from tornado.ioloop import IOLoop from tornado.httpserver import HTTPServer from tornado.options import options from tornado.netutil import bind_sockets from handler import TotoHandler from toto.service import TotoService, process_count from dbconnection import configured_connection from toto.options import safe_define safe_define("port", default=8888, help="The port this server will bind to.") safe_define( "root", default='/', help= "The path to run the server on. This can be helpful when hosting multiple services on the same domain" ) safe_define("method_module", default='methods', help="The root module to use for method lookup") safe_define( "cookie_secret", default=None, type=str, help= "A long random string to use as the HMAC secret for secure cookies, ignored if use_cookies is not enabled"
import toto import zmq import cPickle as pickle import zlib import logging from threading import Thread from tornado.options import options from collections import deque from zmq.eventloop.ioloop import ZMQPoller, IOLoop, PeriodicCallback from zmq.eventloop.zmqstream import ZMQStream from time import time from uuid import uuid4 from traceback import format_exc from toto.options import safe_define safe_define("worker_compression_module", type=str, help="The module to use for compressing and decompressing messages to workers. The module must have 'decompress' and 'compress' methods. If not specified, no compression will be used. Only the default instance will be affected") safe_define("worker_serialization_module", type=str, help="The module to use for serializing and deserializing messages to workers. The module must have 'dumps' and 'loads' methods. If not specified, cPickle will be used. Only the default instance will be affected") safe_define("worker_timeout", default=10.0, help="The default worker (instance()) will wait at least this many seconds before retrying a request (if retry is true), or timing out (if retry is false). Negative values will never retry or timeout. Note: This abs(value) is also the minimum resolution of any request-specific timeouts. Must not be 0.") safe_define("worker_auto_retry", default=False, help="If True, the default timeout behavior of a worker RPC will be to retry instead of failing when the timeout is reached.") safe_define("worker_address", default='', help="This is the address that toto.workerconnection.invoke(method, params) will send tasks too (As specified in the worker conf file). A comma separated list may be used to round-robin load balance tasks between workers.") WORKER_SOCKET_CONNECT = 'CONNECT' WORKER_SOCKET_DISCONNECT = 'DISCONNECT' class WorkerConnection(object): '''Use a ``WorkerConnection`` to make RPCs to the remote worker service(s) or worker/router specified by ``address``. ``address`` may be either an enumerable of address strings or a string of comma separated addresses. RPC retries and timeouts will happen by at most every ``abs(timeout)`` seconds when a periodic callback runs through all active messages and checks for prolonged requests. This is also the default timeout for any new calls. ``timeout`` must not be ``0``.
import os import sys import logging import tornado from tornado.web import Application from tornado.ioloop import IOLoop from tornado.httpserver import HTTPServer from tornado.options import options from tornado.netutil import bind_sockets from handler import TotoHandler from toto.service import TotoService, process_count from dbconnection import configured_connection from toto.options import safe_define safe_define("port", default=8888, help="The port this server will bind to.") safe_define("root", default='/', help="The path to run the server on. This can be helpful when hosting multiple services on the same domain") safe_define("method_module", default='methods', help="The root module to use for method lookup") safe_define("cookie_secret", default=None, type=str, help="A long random string to use as the HMAC secret for secure cookies, ignored if use_cookies is not enabled") safe_define("autoreload", default=False, help="This option autoreloads modules as changes occur - useful for debugging.") safe_define("remote_event_receivers", type=str, help="A comma separated list of remote event address that this event manager should connect to. e.g.: 'tcp://192.168.1.2:8889'", multiple=True) safe_define("event_mode", default='off', metavar='off|on|only', help="This option enables or disables the event system, also providing an option to launch this server as an event server only") safe_define("event_init_module", default=None, type=str, help="If defined, this module's 'invoke' function will be called with the EventManager instance after the main event handler is registered (e.g.: myevents.setup)") safe_define("event_port", default=8999, help="The address to listen to event connections on - due to message queuing, servers use the next higher port as well") safe_define("startup_function", default=None, type=str, help="An optional function to run on startup - e.g. module.function. The function will be called for each server instance before the server starts listening as function(connection=<active database connection>, application=<tornado.web.Application>).") safe_define("use_cookies", default=False, help="Select whether to use cookies for session storage, replacing the x-toto-session-id header. You must set cookie_secret if using this option and secure_cookies is not set to False") safe_define("secure_cookies", default=True, help="If using cookies, select whether or not they should be secure. Secure cookies require cookie_secret to be set") safe_define("cookie_domain", default=None, type=str, help="The value to use for the session cookie's domain attribute - e.g. '.example.com'") safe_define("socket_opened_method", default=None, type=str, help="An optional function to run when a new web socket is opened, the socket handler will be passed as the only argument") safe_define("socket_closed_method", default=None, type=str, help="An optional function to run when a web socket is closed, the socket handler will be passed as the only argument") safe_define("socket_method_module", default=None, type=str, help="The root module to use for web socket method lookup")
import toto import cPickle as pickle import zlib import logging from threading import Thread from tornado.options import options from tornado.gen import Task from collections import deque from time import time from uuid import uuid4 from traceback import format_exc from toto.options import safe_define safe_define("worker_compression_module", type=str, help="The module to use for compressing and decompressing messages to workers. The module must have 'decompress' and 'compress' methods. If not specified, no compression will be used. Only the default instance will be affected") safe_define("worker_serialization_module", type=str, help="The module to use for serializing and deserializing messages to workers. The module must have 'dumps' and 'loads' methods. If not specified, cPickle will be used. Only the default instance will be affected") safe_define("worker_serialization_mime", type=str, default='application/pickle', help="Used by HttpWorkerConnection in its Content-Type header.") safe_define("worker_timeout", default=10.0, help="The default worker (instance()) will wait at least this many seconds before retrying a request (if retry is true), or timing out (if retry is false). Negative values will never retry or timeout. Note: This abs(value) is also the minimum resolution of any request-specific timeouts. Must not be 0.") safe_define("worker_auto_retry", default=False, help="If True, the default timeout behavior of a worker RPC will be to retry instead of failing when the timeout is reached.") safe_define("worker_retry_count", default=0, help="The maximum number of times to retry a request after timeout. Used by HttpWorkerConnection instead of worker_auto_retry.") safe_define("worker_address", default='', help="This is the address that toto.workerconnection.invoke(method, params) will send tasks too (As specified in the worker conf file). A comma separated list may be used to round-robin load balance tasks between workers.") safe_define("worker_transport", default='zmq', help="Either zmq or http to select which transport to use for worker communication.") WORKER_SOCKET_CONNECT = 'CONNECT' WORKER_SOCKET_DISCONNECT = 'DISCONNECT' class WorkerConnection(object): '''Use a ``WorkerConnection`` to make RPCs to the remote worker service(s) or worker/router specified by ``address``. ``address`` may be either an enumerable of address strings or a string of comma separated addresses. RPC retries and timeouts will happen by at most every ``abs(timeout)`` seconds when a periodic callback runs through all active messages and checks for prolonged requests. This is also the default timeout for any new calls. ``timeout`` must not be ``0``.
import tornado from tornado.options import options import logging import zlib import cPickle as pickle import sys import time from threading import Thread from multiprocessing import Process, cpu_count from toto.service import TotoService, process_count, pid_path from toto.dbconnection import configured_connection from exceptions import * from toto.options import safe_define safe_define("method_module", default='methods', help="The root module to use for method lookup") safe_define( "remote_event_receivers", type=str, help= "A comma separated list of remote event address that this event manager should connect to. e.g.: 'tcp://192.168.1.2:8889'", multiple=True) safe_define( "event_init_module", default=None, type=str, help= "If defined, this module's 'invoke' function will be called with the EventManager instance after the main event handler is registered (e.g.: myevents.setup)" ) safe_define(