Worker started flag
This commit is contained in:
parent
7743cc44fa
commit
105a7c0ea6
1 changed files with 5 additions and 1 deletions
|
@ -84,6 +84,7 @@ class IPResolver(IPResolverInterface):
|
||||||
self.app = app
|
self.app = app
|
||||||
self.geoip_db = geoip2.database.Reader('util/ipresolver/GeoLite2-Country.mmdb')
|
self.geoip_db = geoip2.database.Reader('util/ipresolver/GeoLite2-Country.mmdb')
|
||||||
self._worker = _UpdateIPRange(_UPDATE_INTERVAL)
|
self._worker = _UpdateIPRange(_UPDATE_INTERVAL)
|
||||||
|
self._worker_started = False
|
||||||
|
|
||||||
@ttl_cache(maxsize=100, ttl=600)
|
@ttl_cache(maxsize=100, ttl=600)
|
||||||
def is_ip_possible_threat(self, ip_address):
|
def is_ip_possible_threat(self, ip_address):
|
||||||
|
@ -129,11 +130,14 @@ class IPResolver(IPResolverInterface):
|
||||||
return location_function(ip_address)
|
return location_function(ip_address)
|
||||||
|
|
||||||
def _get_location_function(self):
|
def _get_location_function(self):
|
||||||
if not self.app.config.get('TESTING', False) and not self._worker.is_alive():
|
if not self.app.config.get('TESTING', False) and not self._worker.is_alive() and \
|
||||||
|
not self._worker_started:
|
||||||
try:
|
try:
|
||||||
self._worker.start()
|
self._worker.start()
|
||||||
|
self._worker_started = True
|
||||||
except:
|
except:
|
||||||
logger.exception('Got exception try to start ip resolver thread')
|
logger.exception('Got exception try to start ip resolver thread')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cache = CACHE
|
cache = CACHE
|
||||||
sync_token = cache.get('sync_token', None)
|
sync_token = cache.get('sync_token', None)
|
||||||
|
|
Reference in a new issue