def run():

    parser = argparse.ArgumentParser()
    parser.add_argument('git_url',
                        help='git+ssh URL for Puppet environment repository')
    parser.add_argument('base_dir',
                        help='local filesystem path of Puppet environments')
    parser.add_argument('--interval',
                        default=300,
                        help='how often to refresh all environments')

    args = parser.parse_args()
    cherrypy.config.update({
        'git_url': args.git_url,
        'base_dir': args.base_dir,
    })

    app = App()

    # Schedule task to refresh all branches every 5 minutes
    task = plugins.BackgroundTask(args.interval, app.refresh_everything)
    task.bus = cherrypy.engine
    task.start()

    cherrypy.quickstart(app, '/api')
Exemple #2
0
 def __init__(self, config, backends, logger):
     self.config = config
     self.backends = backends
     self._logger = logger
     # these dicts hold our data
     self.tokens = {}
     self.user_token = {}
     # start plugin to handle emails
     self.emailer = EmailTokenPlugin(cherrypy.engine, config, logger).subscribe()
     # start periodic garbage collection
     self.gc = plugins.BackgroundTask(GC_INTERVAL, self._collect_garbage, bus=cherrypy.engine)
     self.gc.start()
Exemple #3
0
    def run(self):

        self.service_state.workers = self.handler.workers

        daemon = plugins.Daemonizer(
            cherrypy.engine,
            stdout=os.path.join(self.workdir, 'fioservice.access.log'),
            stderr=os.path.join(self.workdir, 'fioservice.log'),
            )

        daemon.subscribe()
        cherrypy.log.error_log.propagate = False
        cherrypy.log.access_log.propagate = False
        cherrypy.server.socket_host = configuration.settings.ip_address
        cherrypy.tree.mount(self.root, config=self.conf)
        cherrypy.config.update({
            'engine.autoreload.on': False,
            'server.socket_host': configuration.settings.ip_address,
            'server.socket_port': configuration.settings.port,
            'error_page.default': jsonify_error,
            'tools.encode.encoding': 'utf-8',
            'cors.expose.on': True,
        })

        plugins.PIDFile(cherrypy.engine, get_pid_file(self.workdir)).subscribe()
        plugins.SignalHandler(cherrypy.engine).subscribe()  # handle SIGTERM, SIGHUP etc

        self.worker = plugins.BackgroundTask(
            interval=1,
            function=run_job,
            args=[self.dbpath,
                  self.handler,
                  self.service_state,
                  self.debug_mode]
        )
        cherrypy.engine.subscribe('stop', self.cleanup)

        try:
            cherrypy.engine.start()
        except Exception:
            sys.exit(1)
        else:
            self.worker.run()
            cherrypy.engine.block()
Exemple #4
0
    def run(self):

        self.service_state.workers = self.handler.workers

        daemon = plugins.Daemonizer(
            cherrypy.engine,
            stdout=os.path.join(self.workdir, 'fioservice.access.log'),
            stderr=os.path.join(self.workdir, 'fioservice.log'),
        )

        daemon.subscribe()
        cherrypy.log.error_log.propagate = False
        cherrypy.log.access_log.propagate = False
        cherrypy.server.socket_host = '0.0.0.0'
        cherrypy.tree.mount(self.root, config=self.conf)
        cherrypy.config.update({
            'engine.autoreload.on': False,
            'server.socket_host': '0.0.0.0',
            'server.socket_port': self.port
        })

        plugins.PIDFile(cherrypy.engine,
                        get_pid_file(self.workdir)).subscribe()
        plugins.SignalHandler(
            cherrypy.engine).subscribe()  # handle SIGTERM, SIGHUP etc

        self.worker = plugins.BackgroundTask(
            interval=1,
            function=run_job,
            args=[self.handler, self.service_state])
        cherrypy.engine.subscribe('stop', self.cleanup)

        # prevent CP loggers from propagating entries to the root logger
        # (i.e stop duplicate log entries)

        try:
            cherrypy.engine.start()
        except Exception:
            sys.exit(1)
        else:
            self.worker.run()
            cherrypy.engine.block()
Exemple #5
0
 def start(self):
     self.bus.log('Starting up twitter cyclic loader')
     task = plugins.BackgroundTask(self.freq, self.fetch_mentions)
     self.tasks.append(task)
     task.bus = self.bus
     task.start()
        return cherrypy.session['session_id']


if __name__ == '__main__':
    rfidapp = rfid()
    rfidapp.generator = rfidGeneratorWebService()

    file_path = os.getcwd() + '/web'

    # This is the configuration and starting of the service
    cherrypy.config.update({
        'server.socket_host': "0.0.0.0",
        'server.socket_port': 9090
    })

    plugins.BackgroundTask(0.1, doRFID).start()
    cherrypy.quickstart(
        rfid(), '/', {
            '/': {
                'tools.staticdir.root': file_path,
            },
            '/logaccess.csv': {
                'tools.staticfile.on': True,
                'tools.staticfile.filename': file_path + '/logaccess.csv'
            },
            '/users.txt': {
                'tools.staticfile.on': True,
                'tools.staticfile.filename': file_path + '/users.txt'
            },
            '/js': {
                'tools.staticdir.on': True,