buz 2.15.3__tar.gz → 2.15.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {buz-2.15.3 → buz-2.15.4}/PKG-INFO +1 -1
- {buz-2.15.3 → buz-2.15.4}/pyproject.toml +1 -1
- buz-2.15.4/src/buz/event/infrastructure/buz_kafka/exceptions/max_consumer_retry_exception.py +8 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/kafka_event_async_subscriber_executor.py +25 -2
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/kafka_event_sync_subscriber_executor.py +27 -4
- {buz-2.15.3 → buz-2.15.4}/LICENSE +0 -0
- {buz-2.15.3 → buz-2.15.4}/README.md +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/base_command_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/command_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/command_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/middleware/base_handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/middleware/handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/middleware/handle_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/self_process/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/self_process/self_process_command_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/command.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/more_than_one_command_handler_related_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/base_command_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/command_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/command_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/middleware/base_handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/middleware/handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/middleware/handle_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/self_process/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/self_process/self_process_command_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/synced_async/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/synced_async/synced_async_command_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/async_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/async_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/async_subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/async_worker.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/base_async_subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/base_subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/dead_letter_queue/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/dead_letter_queue/dlq_criteria.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/dead_letter_queue/dlq_record.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/dead_letter_queue/dlq_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/event.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/event_not_published_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/event_restore_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/subscribers_not_found_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/term_signal_interruption_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/exceptions/worker_execution_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/async_buz_kafka_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/base_buz_aiokafka_async_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/buz_aiokafka_async_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/buz_aiokafka_multi_threaded_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/buz_kafka_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/consume_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/consume_strategy/consume_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/consume_strategy/kafka_on_fail_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/consume_strategy/topic_and_subscription_group_per_subscriber_kafka_consumer_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/exceptions/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/exceptions/kafka_event_bus_config_not_valid_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/exceptions/retry_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/kafka_event_subscriber_executor.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/publish_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/publish_strategy/publish_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/publish_strategy/topic_per_event_kafka_publish_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/allowed_kombu_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/consume_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/consume_strategy/consume_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/consume_strategy/queue_per_subscriber_consume_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/kombu_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/kombu_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/publish_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/publish_strategy/fanout_exchange_per_event_publish_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/publish_strategy/publish_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/retry_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/retry_strategy/publish_retry_policy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/retry_strategy/simple_publish_retry_policy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/models/consuming_task.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/queue/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/meta_base_subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/meta_subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_consume_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_consume_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_publish_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_publish_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/base_async_consume_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/base_consume_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/base_publish_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/consume_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/consume_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/exceptions/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/exceptions/event_already_in_progress_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/publish_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/publish_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/async_execution_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/async_self_process_execution_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/cyclic_iterator_execution_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/execution_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/self_process_execution_strategy.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/consume_retrier.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/consumed_event_retry.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/consumed_event_retry_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/max_retries_consume_retrier.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/max_retries_negative_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/retry/reject_callback.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/subscriber.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/sync/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/sync/sync_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/event_to_outbox_record_translator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/fqn_to_event_mapper.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/deliverable_records_outbox_criteria_factory.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/outbox_criteria.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/outbox_criteria_factory.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/outbox_sorting_criteria.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_finder/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_finder/outbox_record_stream_finder.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_finder/polling_outbox_record_stream_finder.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_to_event_translator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/abstract_outbox_record_validator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/outbox_record_size_not_allowed_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/outbox_record_validation_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/outbox_record_validator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/size_outbox_record_validator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/transactional_outbox_event_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/transactional_outbox_worker.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/event/worker.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_all_partition_assigned_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_valid_kafka_message_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_valid_partition_number_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/topic_already_created_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/topic_not_found_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/auto_create_topic_configuration.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/consumer_initial_offset_position.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/create_kafka_topic.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_connection_config.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_connection_credentials.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_connection_plain_text_credentials.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_connection_sasl_credentials.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_consumer_record.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_poll_record.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_supported_compression_type.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_supported_sasl_mechanisms.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_supported_security_protocols.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/services/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/services/async_kafka_producer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/services/kafka_admin_client.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/services/kafka_admin_test_client.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/services/kafka_producer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/aiokafka_consumer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/aiokafka_producer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/rebalance/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/rebalance/kafka_callback_rebalancer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/translators/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/aiokafka/translators/consumer_initial_offset_position_translator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/cdc/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/cdc/cdc_message.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/cdc/cdc_payload.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/cdc/cdc_schema.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/byte_deserializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/bytes_to_message_deserializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/implementations/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/implementations/cdc/cdc_record_bytes_to_event_deserializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/implementations/cdc/not_valid_cdc_message_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/implementations/json_byte_deserializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/deserializers/implementations/json_bytes_to_message_deserializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/interfaces/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/interfaces/async_connection_manager.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/interfaces/connection_manager.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/exception/consumer_interrupted_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/kafka_python_admin_client.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/kafka_python_admin_test_client.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/kafka_python_producer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/translators/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/kafka_python/translators/consumer_initial_offset_position_translator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/serializers/byte_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/serializers/implementations/cdc_record_bytes_to_event_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/serializers/implementations/json_byte_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/kafka/infrastructure/serializers/kafka_header_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/handler_fqn_not_found_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/locator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/message_fqn_not_found_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/pypendency/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/pypendency/container_locator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/pypendency/container_locator_resolution_configuration.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/pypendency/handler_not_found_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/pypendency/handler_not_registered_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/sync/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/sync/handler_already_registered_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/sync/handler_not_registered_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/locator/sync/instance_locator.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/message.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/middleware/middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/middleware/middleware_chain_builder.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/py.typed +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/base_query_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/middleware/base_handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/middleware/handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/middleware/handle_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/query_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/query_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/self_process/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/asynchronous/self_process/self_process_query_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/more_than_one_query_handler_related_exception.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/query.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/query_response.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/base_query_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/middleware/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/middleware/base_handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/middleware/handle_middleware.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/middleware/handle_middleware_chain_resolver.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/query_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/query_handler.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/self_process/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/self_process/self_process_query_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/synced_async/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/query/synchronous/synced_async/synced_async_query_bus.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/queue/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/queue/in_memory/in_memory_multiqueue_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/queue/in_memory/in_memory_queue_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/queue/multiqueue_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/queue/queue_repository.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/serializer/message_to_bytes_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/serializer/message_to_json_bytes_serializer.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/wrapper/__init__.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/wrapper/async_to_sync.py +0 -0
- {buz-2.15.3 → buz-2.15.4}/src/buz/wrapper/event_loop.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "buz"
|
|
3
|
-
version = "2.15.
|
|
3
|
+
version = "2.15.4"
|
|
4
4
|
description = "Buz is a set of light, simple and extensible implementations of event, command and query buses."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = ["Luis Pintado Lozano <luis.pintado.lozano@gmail.com>", "Gerardo Parra <gprauxiliar@gmail.com>"]
|
|
@@ -5,6 +5,7 @@ from typing import Optional, Sequence, cast
|
|
|
5
5
|
from buz.event import Event
|
|
6
6
|
from buz.event.async_subscriber import AsyncSubscriber
|
|
7
7
|
from buz.event.infrastructure.buz_kafka.consume_strategy.kafka_on_fail_strategy import KafkaOnFailStrategy
|
|
8
|
+
from buz.event.infrastructure.buz_kafka.exceptions.max_consumer_retry_exception import MaxConsumerRetryException
|
|
8
9
|
from buz.event.infrastructure.buz_kafka.exceptions.retry_exception import ConsumerRetryException
|
|
9
10
|
from buz.event.infrastructure.buz_kafka.kafka_event_subscriber_executor import KafkaEventSubscriberExecutor
|
|
10
11
|
from buz.event.middleware.async_consume_middleware import AsyncConsumeMiddleware
|
|
@@ -78,8 +79,30 @@ class KafkaEventAsyncSubscriberExecutor(KafkaEventSubscriberExecutor):
|
|
|
78
79
|
)
|
|
79
80
|
|
|
80
81
|
async def __perform_consume(self, event: Event, subscriber: AsyncSubscriber) -> None:
|
|
81
|
-
should_retry = True
|
|
82
82
|
number_of_executions = 0
|
|
83
|
+
should_retry = True
|
|
84
|
+
|
|
85
|
+
if self.__consume_retrier is not None:
|
|
86
|
+
should_retry = self.__consume_retrier.should_retry(event, [subscriber])
|
|
87
|
+
|
|
88
|
+
if should_retry is False:
|
|
89
|
+
max_retry_exception = MaxConsumerRetryException(
|
|
90
|
+
event_id=event.id,
|
|
91
|
+
subscriber_fqn=subscriber.fqn(),
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
if self.__on_fail_strategy == KafkaOnFailStrategy.STOP_ON_FAIL:
|
|
95
|
+
raise max_retry_exception
|
|
96
|
+
|
|
97
|
+
self.__logger.warning(
|
|
98
|
+
f"The event {event.id} with the subscriber {subscriber.fqn()} has reach the max number of retries, it will be consumed but not processed"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
if self.__reject_callback is not None:
|
|
102
|
+
self.__reject_callback.on_reject(event=event, subscribers=[subscriber], exception=max_retry_exception)
|
|
103
|
+
|
|
104
|
+
return
|
|
105
|
+
|
|
83
106
|
while should_retry is True:
|
|
84
107
|
try:
|
|
85
108
|
self.__register_retry(event, subscriber)
|
|
@@ -102,7 +125,7 @@ class KafkaEventAsyncSubscriberExecutor(KafkaEventSubscriberExecutor):
|
|
|
102
125
|
|
|
103
126
|
self.__logger.exception(exception)
|
|
104
127
|
|
|
105
|
-
if self.__reject_callback:
|
|
128
|
+
if self.__reject_callback is not None:
|
|
106
129
|
self.__reject_callback.on_reject(event=event, subscribers=[subscriber], exception=exception)
|
|
107
130
|
|
|
108
131
|
if self.__on_fail_strategy == KafkaOnFailStrategy.STOP_ON_FAIL:
|
|
@@ -4,6 +4,7 @@ import time
|
|
|
4
4
|
from typing import Optional, Sequence, cast
|
|
5
5
|
from buz.event import Event
|
|
6
6
|
from buz.event.infrastructure.buz_kafka.consume_strategy.kafka_on_fail_strategy import KafkaOnFailStrategy
|
|
7
|
+
from buz.event.infrastructure.buz_kafka.exceptions.max_consumer_retry_exception import MaxConsumerRetryException
|
|
7
8
|
from buz.event.infrastructure.buz_kafka.exceptions.retry_exception import ConsumerRetryException
|
|
8
9
|
from buz.event.infrastructure.buz_kafka.kafka_event_subscriber_executor import KafkaEventSubscriberExecutor
|
|
9
10
|
from buz.event.middleware.consume_middleware import ConsumeMiddleware
|
|
@@ -82,12 +83,34 @@ class KafkaEventSyncSubscriberExecutor(KafkaEventSubscriberExecutor):
|
|
|
82
83
|
)
|
|
83
84
|
|
|
84
85
|
def __perform_consume(self, event: Event, subscriber: Subscriber) -> None:
|
|
86
|
+
number_of_executions = 0
|
|
85
87
|
should_retry = True
|
|
86
|
-
|
|
88
|
+
|
|
89
|
+
if self.__consume_retrier is not None:
|
|
90
|
+
should_retry = self.__consume_retrier.should_retry(event, [subscriber])
|
|
91
|
+
|
|
92
|
+
if should_retry is False:
|
|
93
|
+
max_retry_exception = MaxConsumerRetryException(
|
|
94
|
+
event_id=event.id,
|
|
95
|
+
subscriber_fqn=subscriber.fqn(),
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
if self.__on_fail_strategy == KafkaOnFailStrategy.STOP_ON_FAIL:
|
|
99
|
+
raise max_retry_exception
|
|
100
|
+
|
|
101
|
+
self.__logger.warning(
|
|
102
|
+
f"The event {event.id} with the subscriber {subscriber.fqn()} has reach the max number of retries, it will be consumed but not processed"
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
if self.__reject_callback is not None:
|
|
106
|
+
self.__reject_callback.on_reject(event=event, subscribers=[subscriber], exception=max_retry_exception)
|
|
107
|
+
|
|
108
|
+
return
|
|
109
|
+
|
|
87
110
|
while should_retry is True:
|
|
88
111
|
try:
|
|
89
112
|
self.__register_retry(event, subscriber)
|
|
90
|
-
|
|
113
|
+
number_of_executions += 1
|
|
91
114
|
subscriber.consume(event)
|
|
92
115
|
self.__clean_retries(event, subscriber)
|
|
93
116
|
return
|
|
@@ -95,7 +118,7 @@ class KafkaEventSyncSubscriberExecutor(KafkaEventSubscriberExecutor):
|
|
|
95
118
|
if self.__should_retry(event, subscriber) is True:
|
|
96
119
|
self.__logger.warning(
|
|
97
120
|
ConsumerRetryException(
|
|
98
|
-
number_of_executions=
|
|
121
|
+
number_of_executions=number_of_executions,
|
|
99
122
|
event_id=event.id,
|
|
100
123
|
subscriber_fqn=subscriber.fqn(),
|
|
101
124
|
),
|
|
@@ -106,7 +129,7 @@ class KafkaEventSyncSubscriberExecutor(KafkaEventSubscriberExecutor):
|
|
|
106
129
|
|
|
107
130
|
self.__logger.exception(exception)
|
|
108
131
|
|
|
109
|
-
if self.__reject_callback:
|
|
132
|
+
if self.__reject_callback is not None:
|
|
110
133
|
self.__reject_callback.on_reject(event=event, subscribers=[subscriber], exception=exception)
|
|
111
134
|
|
|
112
135
|
if self.__on_fail_strategy == KafkaOnFailStrategy.STOP_ON_FAIL:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/command/asynchronous/self_process/self_process_command_bus.py
RENAMED
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/command/more_than_one_command_handler_related_exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/middleware/handle_middleware_chain_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/self_process/self_process_command_bus.py
RENAMED
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/command/synchronous/synced_async/synced_async_command_bus.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/async_buz_kafka_event_bus.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/base_buz_aiokafka_async_consumer.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/buz_aiokafka_async_consumer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/consume_strategy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/exceptions/retry_exception.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/kafka_event_subscriber_executor.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/buz_kafka/publish_strategy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/consume_strategy/consume_strategy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/publish_strategy/publish_strategy.py
RENAMED
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/infrastructure/kombu/retry_strategy/publish_retry_policy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_consume_middleware_chain_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/async_publish_middleware_chain_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/middleware/exceptions/event_already_in_progress_exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/strategies/execution_strategy/async_execution_strategy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/event_to_outbox_record_translator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_criteria/outbox_criteria.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_finder/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_to_event_translator.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/outbox_record_validation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/event/transactional_outbox/transactional_outbox_event_bus.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_all_partition_assigned_exception.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_valid_kafka_message_exception.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/not_valid_partition_number_exception.py
RENAMED
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/exceptions/topic_already_created_exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buz-2.15.3 → buz-2.15.4}/src/buz/kafka/domain/models/kafka_connection_plain_text_credentials.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|