orange / install-scripts / orngServer / orngServerFilesServerService.py

import os
os.chdir(r"C:\Documents and Settings\orngServerFiles\orngServerFiles")

import orngServerFilesServer

import cherrypy

import win32serviceutil
import win32service
import win32event

orngServerFilesServer.basedir = 'D:/orngServerData'

class MyService(win32serviceutil.ServiceFramework):

    _svc_name_ = "orngServerFilesServerService2"
    _svc_display_name_ = "orngServerFilesServerService2"

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        # create an event that SvcDoRun can wait on and SvcStop
        # can set.
        self.stop_event = win32event.CreateEvent(None, 0, 0, None)

    def SvcDoRun(self):
        root, conf = orngServerFilesServer.buildServer()

        #conf["global"]["engine.SIGHUP"] = None
        #conf["global"]["engine.SIGTERM"] = None
        print conf

        cherrypy.config.update(conf)
        cherrypy.tree.mount(root, '/', conf)

        cherrypy.engine.start()
        win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE)
    
    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        cherrypy.engine.stop()
        win32event.SetEvent(self.stop_event)

if __name__ == '__main__':
    win32serviceutil.HandleCommandLine(MyService)
       
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.