示例#1
0
 def __init__(self, args):
     win32serviceutil.ServiceFramework.__init__(self, args)
     self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
     self._wr_url = 'http://127.0.0.1:8655/'
     self._wp = WinPollster()
     self._poll_intvl = 20
     print 'Service start.'
示例#2
0
 def __init__(self, args):
     win32serviceutil.ServiceFramework.__init__(self, args)
     self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
     self._wr_url = 'http://127.0.0.1:8655/'
     self._wp = WinPollster()
     self._poll_intvl = 20
     print 'Service start.'
示例#3
0
class PollManager(win32serviceutil.ServiceFramework):
    _svc_name_ = "agent_poll_manager"
    _svc_display_name_ = "agent_poll_manager"
    _wp = None
    _wr_url = None
    _poll_intvl = None
    stoppending = False
    counter = 0

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
        self._wr_url = 'http://127.0.0.1:8655/'
        self._wp = WinPollster()
        self._poll_intvl = 20
        print 'Service start.'

    def SvcDoRun(self):
        import servicemanager
        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                              servicemanager.PYS_SERVICE_STARTED,
                              (self._svc_name_, ''))

        while True:
            time.sleep(1)
            self.counter = self.counter + 1
            if self.stoppending == True:
                break
            elif self.counter >= self._poll_intvl:
                self.counter = 0
                self._wp.update()
                wr_obj = self._wp.combine()
                if wr_obj:
                    wr_data('%s%s' % (self._wr_url, 'setdata'), wr_obj)
            else:
                pass

        return

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        self.stoppending = True
        print 'Service stop'
        return
示例#4
0
class PollManager(win32serviceutil.ServiceFramework):
    _svc_name_ = "agent_poll_manager"
    _svc_display_name_ = "agent_poll_manager"
    _wp = None
    _wr_url = None
    _poll_intvl = None

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
        self._wr_url = 'http://127.0.0.1:8655/'
        self._wp = WinPollster()
        self._poll_intvl = 20
        print("Service start.")

    def SvcDoRun(self):
        import servicemanager
        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                              servicemanager.PYS_SERVICE_STARTED,
                              (self._svc_name_, ''))

        self.timeout = 100
        while True:
            rc = win32event.WaitForSingleObject(self.hWaitStop, self.timeout)

            if rc == win32event.WAIT_OBJECT_0:
                break
            else:
                wr_obj = self._wp.combine()
                if wr_obj:
                    wr_data('%s%s' % (self._wr_url, 'setdata'), wr_obj)
                time.sleep(self._poll_intvl)
        return

    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)
        print("Service stop")
        return
示例#5
0
class PollManager(win32serviceutil.ServiceFramework):
    _svc_name_ = "agent_poll_manager"
    _svc_display_name_ = "agent_poll_manager"
    _wp = None
    _wr_url = None
    _poll_intvl = None

    def __init__(self, args):
        win32serviceutil.ServiceFramework.__init__(self, args)
        self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
        self._wr_url = 'http://127.0.0.1:8655/'
        self._wp = WinPollster()
        self._poll_intvl = 20
        print 'Service start.'
        
    def SvcDoRun(self):
        import servicemanager
        servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,servicemanager.PYS_SERVICE_STARTED,(self._svc_name_, ''))

        self.timeout=100
        while True:
            rc=win32event.WaitForSingleObject(self.hWaitStop,self.timeout)
            
            if rc == win32event.WAIT_OBJECT_0:
                break
            else:
                wr_obj = self._wp.combine()
                if wr_obj:
                    wr_data('%s%s' %(self._wr_url, 'setdata'), wr_obj)
                time.sleep(self._poll_intvl)
        return


    def SvcStop(self):
        self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
        win32event.SetEvent(self.hWaitStop)
        print 'Service stop'
        return