diff --git a/ravendb/documents/subscriptions/document_subscriptions.py b/ravendb/documents/subscriptions/document_subscriptions.py index e18cdc70..b33528cb 100644 --- a/ravendb/documents/subscriptions/document_subscriptions.py +++ b/ravendb/documents/subscriptions/document_subscriptions.py @@ -55,15 +55,6 @@ def create_for_options(self, options: SubscriptionCreationOptions, database: Opt return command.result.name - def create_for_options_autocomplete_query( - self, - object_type: Type[_T], - options: SubscriptionCreationOptions = SubscriptionCreationOptions(), - database: Optional[str] = None, - ) -> str: - options = self.ensure_criteria(options, object_type, False) - return self.create_for_options(options, database) - def create_for_class( self, object_type: Type[_T], @@ -215,7 +206,7 @@ def close(self) -> None: if not self._subscriptions: return - for subscription in self._subscriptions: + for subscription in list(self._subscriptions): subscription.close() def drop_connection(self, name: str, database: Optional[str] = None) -> None: diff --git a/ravendb/documents/subscriptions/worker.py b/ravendb/documents/subscriptions/worker.py index 51e5a8ba..bbb0a2c2 100644 --- a/ravendb/documents/subscriptions/worker.py +++ b/ravendb/documents/subscriptions/worker.py @@ -172,10 +172,6 @@ def __init__( self._db_name = self._store.get_effective_database(db_name) self._logger = logging.getLogger(SubscriptionWorker.__class__.__name__) - self.after_acknowledgment = [] - self.on_subscription_connection_retry = [] - self.on_unexpected_subscription_error = [] - self._processing_cts = CancellationTokenSource() self._subscriber: Optional[Callable[[SubscriptionBatch[_T]], None]] = None self._tcp_client: Optional[socket] = None diff --git a/ravendb/tests/jvm_migrated_tests/client_tests/subscriptions_tests/test_basic_subscription.py b/ravendb/tests/jvm_migrated_tests/client_tests/subscriptions_tests/test_basic_subscription.py index a7ecd041..38821945 100644 --- a/ravendb/tests/jvm_migrated_tests/client_tests/subscriptions_tests/test_basic_subscription.py +++ b/ravendb/tests/jvm_migrated_tests/client_tests/subscriptions_tests/test_basic_subscription.py @@ -216,7 +216,7 @@ def test_will_acknowledge_empty_batches(self): subscription_documents = self.store.subscriptions.get_subscriptions(0, 10) self.assertEqual(0, len(subscription_documents)) - all_id = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions()) + all_id = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions()) with self.store.subscriptions.get_subscription_worker_by_name(subscription_name=all_id) as all_subscription: all_semaphore = Semaphore(0) all_counter = 0 @@ -269,7 +269,7 @@ def test_can_update_subscription_by_name(self): self.assertEqual(state.subscription_id, new_state.subscription_id) def test_can_set_to_ignore_errors(self): - key = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions()) + key = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions()) opt1 = SubscriptionWorkerOptions(key) opt1.ignore_subscriber_errors = True with self.store.subscriptions.get_subscription_worker(opt1, User) as subscription: @@ -371,8 +371,8 @@ def test_disposing_one_subscription_should_not_affect_on_notifications_of_others subscription2: Optional[SubscriptionWorker[User]] = None try: - id1 = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions()) - id2 = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions()) + id1 = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions()) + id2 = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions()) with self.store.open_session() as session: session.store(User(), "users/1") @@ -432,7 +432,7 @@ def __event(brea: BeforeRequestEventArgs): self.store.get_request_executor().add_on_before_request(__event) - key = self.store.subscriptions.create_for_options_autocomplete_query(Company, SubscriptionCreationOptions()) + key = self.store.subscriptions.create_for_class(Company, SubscriptionCreationOptions()) worker_options = SubscriptionWorkerOptions(key) worker_options.ignore_subscriber_errors = True worker_options.strategy = SubscriptionOpeningStrategy.TAKE_OVER @@ -481,7 +481,7 @@ def test_ravenDB_3452_should_stop_pulling_docs_if_released(self): self.assertTrue(subscribe.done()) def test_should_deserialize_the_whole_documents_after_typed_subscription(self): - key = self.store.subscriptions.create_for_options_autocomplete_query(User, SubscriptionCreationOptions()) + key = self.store.subscriptions.create_for_class(User, SubscriptionCreationOptions()) with self.store.subscriptions.get_subscription_worker_by_name(key, User) as subscription: users = [] @@ -534,7 +534,7 @@ def test_can_use_emoji(self): creation_options = SubscriptionCreationOptions( name="user_\uD83D\uDE21\uD83D\uDE21\uD83E\uDD2C\uD83D\uDE00😡😡🤬😀" ) - key = self.store.subscriptions.create_for_options_autocomplete_query(User, creation_options) + key = self.store.subscriptions.create_for_class(User, creation_options) with self.store.subscriptions.get_subscription_worker(SubscriptionWorkerOptions(key), User) as subscription: keys = queue.Queue() subscription.run(lambda batch: [keys.put(x.result.name) for x in batch.items]) @@ -599,7 +599,7 @@ def test_can_create_subscription_with_include_time_series_last_range_by_time(sel "stock_price", TimeSeriesRangeType.LAST, TimeValue.of_months(1) ) - name = self.store.subscriptions.create_for_options_autocomplete_query(Company, subscription_creation_options) + name = self.store.subscriptions.create_for_class(Company, subscription_creation_options) with self.store.subscriptions.get_subscription_worker_by_name(name, Company) as worker: event = Event() diff --git a/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_12257.py b/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_12257.py index fc63bdff..032ac456 100644 --- a/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_12257.py +++ b/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_12257.py @@ -30,7 +30,7 @@ def test_can_use_subscription_includes_via_strongly_typed_api(self): options = SubscriptionCreationOptions() options.includes = lambda builder: builder.include_documents("category").include_documents("supplier") - name = self.store.subscriptions.create_for_options_autocomplete_query(Product, options) + name = self.store.subscriptions.create_for_class(Product, options) with self.store.subscriptions.get_subscription_worker(SubscriptionWorkerOptions(name), Product) as sub: semaphore = Semaphore(0)