Пример #1
0
    def run(self):

        if self.running is None:
            self.running = True

            i = 0
            self.urlsLength = 0

            if self._tServer is None:
                self._tServer = ProcessThread(host = HOSTNAME, port = PORT)
                self._tServer.start()
                self._tServer.setData(0)

            while True:

                if i >= self.interval:
                    LOGGER.debug (' parsing apache logs ')
                    urls = self.parser.parse()
                    self.urlsLength = len(urls)
                    i = 0
                    if self.urlsLength > 0:
                        self.urlsCounter.update(urls)
                        self.isDataPolled = False
                        LOGGER.debug(' new urls %d ', len(urls))
                        # if tread is running
                        if self._tServer is not None:
                            self._tServer.setData(self.urlsLength)

                # LOGGER.debug(' --- {i} {n}'.format(i=i,n=self.interval))
                time.sleep(1)
                i = i + 1
        else:
            LOGGER.debug (' application already running')
Пример #2
0
    def run(self):

        if self.running is None:
            self.running = True

            i = 0
            self.urlsLength = 0

            if self._tServer is None:
                self._tServer = ProcessThread(host=HOSTNAME, port=PORT)
                self._tServer.start()
                self._tServer.setData(0)

            # @TODO when we trying to send statsD data from here - it fails
            while True:

                try:

                    if i >= self.interval:
                        LOGGER.debug(' parsing apache log... ')
                        urls = self.parser.parse()
                        self.urlsLength = len(urls)
                        i = 0
                        if self.urlsLength > 0:
                            urlsSumm = self.urlsCounter.update(urls)

                            LOGGER.info('serealizing data to pkl file')
                            pklFile = open('/tmp/data.pkl', 'wb')

                            # Pickle dictionary using protocol 0.
                            pickle.dump({
                                'urls': urls,
                                'urlsSumm': urlsSumm
                            }, pklFile)
                            pklFile.close()

                            self.sendStatsD(pklData={
                                'urls': urls,
                                'urlsSumm': urlsSumm
                            })

                            self.isDataPolled = False
                            LOGGER.debug(' new urls %d ', len(urls))
                            # if tread is running
                            if self._tServer is not None:
                                self._tServer.setData(self.urlsLength)
                            else:
                                LOGGER.debug(
                                    '_tServer ProcessThread not running')

                    LOGGER.debug(' --- {i} {n}'.format(i=i, n=self.interval))
                    time.sleep(1)
                    i = i + 1
                except Exception as msg:
                    print 'AF.APACHE.URLS.COUNTER critical - daemon error'
                    LOGGER.debug(msg)

        else:
            LOGGER.debug(' application already running')