class PorcupineServerService(win32serviceutil.ServiceFramework):
	_svc_name_ = 'Porcupine'
	_svc_display_name_ = 'Porcupine Server'

	def __init__(self, args):
		win32serviceutil.ServiceFramework.__init__(self, args)
		sys.stdout = open('nul', 'w')
		sys.stderr = open('nul', 'w')
		self.controller = None

	def SvcDoRun(self):
		try:
			if '' not in sys.path:
				sys.path = [''] + sys.path
			if main_is_frozen():
				os.chdir( os.path.dirname(sys.executable) )
			from porcupineserver import Controller
			self.controller = Controller()
			self.controller.start()
			self.controller.shutdown_evt.wait()
		except Exception, e:
			print e
			if self.controller:
				self.controller.initiateShutdown()
			raise
Esempio n. 2
0
 def SvcDoRun(self):
     try:
         if '' not in sys.path:
             sys.path.insert(0, '')
         if is_frozen():
             os.chdir(os.path.dirname(sys.executable))
         else:
             os.chdir(os.path.abspath(os.path.dirname(__file__)))
         from porcupineserver import Controller
         self.controller = Controller()
         self.controller.start()
         while self.controller.running:
             time.sleep(1.0)
     except Exception:
         if self.controller:
             self.controller.shutdown()
         raise
Esempio n. 3
0
class PorcupineServerService(win32serviceutil.ServiceFramework):
    _svc_name_ = 'Porcupine'
    _svc_display_name_ = 'Porcupine'
    _svc_description = 'Porcupine Web Application Server'

    def __init__(self, *args):
        win32serviceutil.ServiceFramework.__init__(self, *args)
        self.controller = None

    def SvcDoRun(self):
        try:
            if '' not in sys.path:
                sys.path.insert(0, '')
            if is_frozen():
                os.chdir(os.path.dirname(sys.executable))
            else:
                os.chdir(os.path.abspath(os.path.dirname(__file__)))
            from porcupineserver import Controller
            self.controller = Controller()
            self.controller.start()
            while self.controller.running:
                time.sleep(1.0)
        except Exception:
            if self.controller:
                self.controller.shutdown()
            raise

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        while self.controller is None:
            time.sleep(1.0)
        self.controller.shutdown()
	def SvcDoRun(self):
		try:
			if '' not in sys.path:
				sys.path = [''] + sys.path
			if main_is_frozen():
				os.chdir( os.path.dirname(sys.executable) )
			from porcupineserver import Controller
			self.controller = Controller()
			self.controller.start()
			self.controller.shutdown_evt.wait()
		except Exception, e:
			print e
			if self.controller:
				self.controller.initiateShutdown()
			raise
class PorcupineServerService(win32serviceutil.ServiceFramework):
    _svc_name_ = 'Porcupine'
    _svc_display_name_ = 'Porcupine Server'

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        sys.stdout = open('nul', 'w')
        sys.stderr = open('nul', 'w')
        self.controller = None

    def SvcDoRun(self):
        try:
            if '' not in sys.path:
                sys.path.insert(0, '')
            if self.is_frozen():
                os.chdir(os.path.dirname(sys.executable))
            else:
                os.chdir(os.path.abspath(os.path.dirname(__file__)))
            from porcupineserver import Controller
            self.controller = Controller()
            self.controller.start()
            while self.controller.running:
                time.sleep(1.0)
        except Exception:
            if self.controller:
                self.controller.shutdown()
            raise

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        while self.controller is None:
            time.sleep(1.0)
        self.controller.shutdown()

    def is_frozen(self):
        return (hasattr(sys, "frozen")          # new py2exe
                or hasattr(sys, "importers")    # old py2exe
                or imp.is_frozen("__main__"))   # tools/freeze