Skip to content

Commit

Permalink
fix(event_computer): remove unused import 'get_entity_id'
Browse files Browse the repository at this point in the history
refactor(cache): update cache settings with config values

feat(config): add new cache configuration parameters

fix(async_cache): add warning for uncached results

refactor(load_settings): adjust cache settings using config values

refactor(event_source): update cache settings with config values

refactor(event_reshaping): use config values for cache settings

refactor(event_validation): update cache settings with config values

refactor(event_mapping): use config values for cache settings

refactor(trigger): update cache settings with config values

refactor(field_mapping): use config values for cache settings

refactor(event_to_profile_mapping): update cache settings with config values

refactor(resource): use config values for cache settings

refactor(compliance): update cache settings with config values

refactor(event_server_endpoint): comment out profiler report conditions
  • Loading branch information
atompie committed Dec 13, 2024
1 parent 06417dc commit 23f52c5
Show file tree
Hide file tree
Showing 13 changed files with 27 additions and 22 deletions.
2 changes: 2 additions & 0 deletions tracardi/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ class MemoryCacheConfig:
def __init__(self):
_default_ttl = 60

self.timeout_sql_query_in = 1
self.max_one_cache_fill_every = .5
self.event_to_profile_coping_ttl = _get_random_value(
get_env_as_int('EVENT_TO_PROFILE_COPY_CACHE_TTL', _default_ttl))
self.source_ttl = _get_random_value(get_env_as_int('SOURCE_CACHE_TTL', _default_ttl))
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/compliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

@AsyncCache(memory_cache.data_compliance_cache_ttl,
allow_null_values=True,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_data_compliance(event_type_id: str) -> List[EventDataCompliance]:
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/destinations.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@


@AsyncCache(memory_cache.event_destination_cache_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_event_destinations(event_type, source_id) -> List[Destination]:
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/event_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@


@AsyncCache(memory_cache.event_mapping_cache_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
allow_null_values=True,
return_cache_on_error=True
)
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/event_reshaping.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@


@AsyncCache(memory_cache.event_reshaping_cache_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
allow_null_values=True,
return_cache_on_error=True
)
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/event_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@


@AsyncCache(memory_cache.source_ttl,
timeout=1,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_event_source_via_cache(source_id) -> Optional[EventSource]:
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/event_to_profile_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@


@AsyncCache(memory_cache.event_to_profile_coping_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_event_to_profile(event_type_id: str) -> List[EventToProfile]:
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/event_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from tracardi.service.storage.mysql.interface import event_validation_dao

@AsyncCache(memory_cache.event_validation_cache_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_event_validation(event_type: str) -> List[EventValidator]:
Expand Down
5 changes: 3 additions & 2 deletions tracardi/service/cache/field_mapping.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from tracardi.config import memory_cache
from tracardi.service.decorators.async_cache import AsyncCache
from tracardi.service.storage.elastic.driver.factory import storage_manager


@AsyncCache(5,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_fields(index: str) -> list:
Expand Down
5 changes: 3 additions & 2 deletions tracardi/service/cache/load_settings.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from tracardi.config import memory_cache
from tracardi.service.decorators.async_cache import AsyncCache
from tracardi.service.storage.mysql.service.configuration_service import ConfigurationService


@AsyncCache(60,
timeout=1,
max_one_cache_fill_every=.1,
timeout=5,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True)
async def load_global_settings_by_key(key):
cs = ConfigurationService()
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/resource.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@


@AsyncCache(memory_cache.resource_load_cache_ttl,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_resource_via_cache(resource_id: str) -> Resource:
Expand Down
4 changes: 2 additions & 2 deletions tracardi/service/cache/trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ def _cache_param_function(wts, event_type: str, source_id: str) -> tuple:

@AsyncCache(memory_cache.trigger_rule_cache_ttl,
key_func=_cache_param_function,
timeout=.5,
max_one_cache_fill_every=.1,
timeout=memory_cache.timeout_sql_query_in,
max_one_cache_fill_every=memory_cache.max_one_cache_fill_every,
return_cache_on_error=True
)
async def load_trigger_rule(wts, event_type: str, source_id: str) -> List[Rule]:
Expand Down
1 change: 1 addition & 0 deletions tracardi/service/decorators/async_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ async def _run_function(self, key, func: Callable, args, kwargs, timeout: float
f"TIMEOUT for cache {func.__qualname__} in {time.time() - t:.4f}")
# If no data raise error
if not self._is_result_cached(key):
logger.warning(f"Result not cached for {key}")
raise e
# Else return from cache
result = self.cache[key]["result"]
Expand Down

0 comments on commit 23f52c5

Please sign in to comment.