Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions ravendb/documents/store/definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@

if TYPE_CHECKING:
from ravendb.documents.indexes.abstract_index_creation_tasks import AbstractIndexCreationTask
from ravendb.http.misc import AggressiveCacheMode, AggressiveCacheOptions


class DocumentStoreBase:
Expand Down Expand Up @@ -560,7 +561,7 @@ def aggressively_cache_for(
cache_duration: datetime.timedelta,
database: Optional[str] = None,
mode: Optional["AggressiveCacheMode"] = None,
) -> "DocumentStore._DisableAggressiveCachingContext":
) -> "DocumentStore._AggressiveCacheOverrideScope":
from ravendb.http.misc import AggressiveCacheMode

if mode is None:
Expand All @@ -573,21 +574,21 @@ def _set_aggressive_cache(
cache_duration: datetime.timedelta,
mode: "AggressiveCacheMode",
database: Optional[str] = None,
) -> "DocumentStore._DisableAggressiveCachingContext":
) -> "DocumentStore._AggressiveCacheOverrideScope":
from ravendb.http.misc import AggressiveCacheOptions

self.assert_initialized()
database = self.get_effective_database(database)
request_executor = self.get_request_executor(database)
options = AggressiveCacheOptions(cache_duration, mode)
return DocumentStore._DisableAggressiveCachingContext(request_executor, options)
return DocumentStore._AggressiveCacheOverrideScope(request_executor, options)

def _finalize_aggressive_cache(
self,
context: "DocumentStore._DisableAggressiveCachingContext",
context: "DocumentStore._AggressiveCacheOverrideScope",
mode: "AggressiveCacheMode",
database: Optional[str] = None,
) -> "DocumentStore._DisableAggressiveCachingContext":
) -> "DocumentStore._AggressiveCacheOverrideScope":
from ravendb.http.misc import AggressiveCacheMode

try:
Expand All @@ -614,17 +615,17 @@ def _listen_to_changes_and_update_cache(self, database: str) -> None:

def disable_aggressive_caching(
self, database: Optional[str] = None
) -> "DocumentStore._DisableAggressiveCachingContext":
) -> "DocumentStore._AggressiveCacheOverrideScope":
self.assert_initialized()
database = self.get_effective_database(database)
request_executor = self.get_request_executor(database)
return DocumentStore._DisableAggressiveCachingContext(request_executor)
return DocumentStore._AggressiveCacheOverrideScope(request_executor)

class _DisableAggressiveCachingContext:
def __init__(self, request_executor, options=None):
class _AggressiveCacheOverrideScope:
def __init__(self, request_executor: RequestExecutor, options: AggressiveCacheOptions = None):
self._request_executor = request_executor
self._options = options
self._old_options = None
self._old_options: Optional[AggressiveCacheOptions] = None

def __enter__(self):
self._old_options = self._request_executor.aggressive_caching
Expand Down
1 change: 1 addition & 0 deletions ravendb/http/request_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
LoadBalanceBehavior,
Broadcast,
AggressiveCacheMode,
AggressiveCacheOptions,
)
from ravendb.http.raven_command import RavenCommand, RavenCommandResponseType
from ravendb.http.server_node import ServerNode
Expand Down
Loading