UpdateIPRange thread start on the 1st call to _get_location_function
Thread will start on first call to _get_location_function as opposed to IPResolver's new instance.
This commit is contained in:
parent
b39051c142
commit
bff91c0fb9
1 changed files with 2 additions and 2 deletions
|
@ -84,8 +84,6 @@ 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)
|
||||||
if not app.config.get('TESTING', False):
|
|
||||||
self._worker.start()
|
|
||||||
|
|
||||||
@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):
|
||||||
|
@ -131,6 +129,8 @@ 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():
|
||||||
|
self._worker.start()
|
||||||
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