from apscheduler.scheduler import Scheduler POSSIBLE_TOPDIR = os.path.normpath( os.path.join(os.path.abspath(sys.argv[0]), os.pardir, os.pardir)) if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'upscale', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from upscale.master import balancer from upscale.utils.rpc import RemoteClient #from upscale.utils.decorators import periodic_task, every, adecorator, Dec #from upscale.utils.decorators import periodic_task, every, adecorator, Dec from upscale import log as logging LOG = logging.getLogger('upscale.master') class Tasks(RemoteClient): pass class Worker(RemoteClient): pass def queue(f): """ decorator function that will add function to queue instead of executing them directly """ def wrapper(*args, **kwargs): q.put((f, args, kwargs))
from apscheduler.scheduler import Scheduler POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), os.pardir, os.pardir)) if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'upscale', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from upscale.master import balancer from upscale.utils.rpc import RemoteClient #from upscale.utils.decorators import periodic_task, every, adecorator, Dec #from upscale.utils.decorators import periodic_task, every, adecorator, Dec from upscale import log as logging LOG = logging.getLogger('upscale.master') class Tasks(RemoteClient): pass class Worker(RemoteClient): pass def queue(f): """ decorator function that will add function to queue instead of executing them directly """ def wrapper(*args, **kwargs): q.put((f, args, kwargs)) return wrapper class Master(object):
import datetime import pprint import sys POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), os.pardir, os.pardir)) if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'upscale', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from upscale.utils.rpc import Server import time import sys import traceback from upscale.worker.worker import Worker from upscale import log as logging LOG = logging.getLogger('upscale.worker') if __name__ == '__main__': LOG.info('Started.') from upscale.worker import tasks with Server("tcp://0.0.0.0:10000", {'Tasks': tasks, 'Worker': Worker()}) as s: s.run()