port-ocean 0.29.2__tar.gz → 0.29.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.
- {port_ocean-0.29.2 → port_ocean-0.29.4}/PKG-INFO +1 -1
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/init.sh +1 -1
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/resync_state_updater/updater.py +0 -1
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/sync_raw.py +9 -4
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/metric/metric.py +1 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/ocean.py +23 -7
- {port_ocean-0.29.2 → port_ocean-0.29.4}/pyproject.toml +1 -1
- {port_ocean-0.29.2 → port_ocean-0.29.4}/LICENSE.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/README.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.Deb +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.alpine +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.base.builder +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.base.runner +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.dockerignore +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Dockerfile.local +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/Makefile +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/README.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/entry_local.sh +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/integrations/_infra/grpcio.sh +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/bootstrap.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cache/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cache/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cache/disk.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cache/errors.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cache/memory.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cli.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/defaults/__init___.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/defaults/clean.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/defaults/dock.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/defaults/group.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/list_integrations.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/main.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/new.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/pull.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/sail.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/commands/version.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/extensions.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.env.example +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/blueprints.json +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/port-app-config.yml +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CONTRIBUTING.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/test_sample.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/auth/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/auth/auth_client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/auth/oauth_client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/authentication.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/actions.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/blueprints.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/entities.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/integrations.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/migrations.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/mixins/organization.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/retry_transport.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/types.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/clients/port/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/config/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/config/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/config/dynamic.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/config/settings.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/consumers/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/consumers/kafka_consumer.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/context/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/context/event.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/context/metric_resource.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/context/ocean.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/context/resource.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/defaults/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/defaults/clean.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/defaults/common.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/defaults/initialize.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/actions_only.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/factory.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/http.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/kafka.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/once.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/polling.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/event_listener/webhooks_only.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/actions/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/actions/abstract_executor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/actions/execution_manager.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entity_processor/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entity_processor/jq_input_evaluator.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/port_app_config/api.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/port_app_config/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/port_app_config/models.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/queue/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/queue/abstract_queue.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/queue/group_queue.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/queue/local_queue.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/resync_state_updater/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/webhook/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/webhook/abstract_webhook_processor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/webhook/processor_manager.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/webhook/webhook_event.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/events.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/handler.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/live_events.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/sync.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/integrations/mixins/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/models.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/ocean_types.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/utils/entity_topological_sorter.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/utils/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/debug_cli.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/api.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/clients.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/context.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/core.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/execution_manager.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/port_defaults.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/exceptions/webhook_processor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/async_client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/metric/utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/retry.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/helpers/stream.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/log/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/log/handlers.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/log/logger_setup.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/log/sensetive.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/middlewares.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/py.typed +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/run.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/sonar-project.properties +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/cache/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/cache/test_disk_cache.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/cache/test_memory_cache.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/oauth/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/oauth/test_oauth_client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/port/mixins/test_entities.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/port/mixins/test_integrations.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/port/mixins/test_organization_mixin.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/config/test_config.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/conftest.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/conftest.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/defaults/test_common.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/event_listener/test_kafka.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/actions/test_execution_manager.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/entities_state_applier/test_applier.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/entity_processor/test_jq_input_evaluator.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/mixins/test_live_events.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/mixins/test_sync_raw.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/port_app_config/test_api.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/port_app_config/test_base.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/queue/test_group_queue.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/queue/test_local_queue.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/webhook/test_processor_manager.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/webhook/test_webhook_event.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/test_utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/utils/test_entity_topological_sorter.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/utils/test_get_port_diff.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/utils/test_resolve_entities_diff.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/fake_port_api.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/fixtures.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/integration.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/ocean_app.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/port_client.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/smoke_test.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/helpers/test_retry.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/log/test_handlers.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/test_metric.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/test_ocean.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/test_smoke.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/utils/test_async_iterators.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/utils/test_cache.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/__init__.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/async_http.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/async_iterators.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/cache.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/ipc.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/misc.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/queue_utils.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/repeat.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/signal.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/utils/time.py +0 -0
- {port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/version.py +0 -0
|
@@ -735,10 +735,15 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
|
|
|
735
735
|
self._register_in_batches(resource, user_agent_type)
|
|
736
736
|
)
|
|
737
737
|
event.on_abort(lambda: task.cancel())
|
|
738
|
-
kind_results: tuple[list[Entity], list[Exception]] = await task
|
|
739
738
|
|
|
740
|
-
|
|
741
|
-
|
|
739
|
+
try:
|
|
740
|
+
kind_results: tuple[list[Entity], list[Exception]] = await task
|
|
741
|
+
if ocean.metrics.sync_state != SyncState.FAILED:
|
|
742
|
+
ocean.metrics.sync_state = SyncState.COMPLETED
|
|
743
|
+
except asyncio.CancelledError:
|
|
744
|
+
logger.warning(f"Resource {resource.kind} processing was aborted")
|
|
745
|
+
ocean.metrics.sync_state = SyncState.ABORTED
|
|
746
|
+
raise
|
|
742
747
|
|
|
743
748
|
await ocean.metrics.send_metrics_to_webhook(kind=resource_kind_id)
|
|
744
749
|
await ocean.metrics.report_kind_sync_metrics(
|
|
@@ -1022,7 +1027,7 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
|
|
|
1022
1027
|
)
|
|
1023
1028
|
|
|
1024
1029
|
async with metric_resource_context(MetricResourceKind.RUNTIME):
|
|
1025
|
-
ocean.metrics.sync_state = SyncState.
|
|
1030
|
+
ocean.metrics.sync_state = SyncState.ABORTED
|
|
1026
1031
|
await ocean.metrics.send_metrics_to_webhook(kind=MetricResourceKind.RUNTIME)
|
|
1027
1032
|
await ocean.metrics.report_sync_metrics(kinds=[MetricResourceKind.RUNTIME])
|
|
1028
1033
|
raise
|
|
@@ -108,7 +108,7 @@ class Ocean:
|
|
|
108
108
|
)
|
|
109
109
|
self.app_initialized = False
|
|
110
110
|
|
|
111
|
-
signal_handler.register(self._report_resync_aborted)
|
|
111
|
+
signal_handler.register(self._report_resync_aborted, priority=100)
|
|
112
112
|
|
|
113
113
|
async def _report_resync_aborted(self) -> None:
|
|
114
114
|
"""
|
|
@@ -116,13 +116,26 @@ class Ocean:
|
|
|
116
116
|
This ensures Port is notified that the integration was interrupted.
|
|
117
117
|
"""
|
|
118
118
|
try:
|
|
119
|
-
if self.
|
|
120
|
-
await self.
|
|
121
|
-
|
|
119
|
+
if self.resync_state_updater:
|
|
120
|
+
current_integration = await self.port_client.get_current_integration()
|
|
121
|
+
current_status = (
|
|
122
|
+
current_integration.get("resyncState", {}).get("status")
|
|
123
|
+
if current_integration
|
|
124
|
+
else None
|
|
122
125
|
)
|
|
123
|
-
|
|
126
|
+
if current_status == IntegrationStateStatus.Running.value:
|
|
127
|
+
await self.resync_state_updater.update_after_resync(
|
|
128
|
+
status=IntegrationStateStatus.Aborted
|
|
129
|
+
)
|
|
130
|
+
logger.info(
|
|
131
|
+
"Graceful shutdown completed - sync state set to aborted"
|
|
132
|
+
)
|
|
133
|
+
else:
|
|
134
|
+
logger.info(
|
|
135
|
+
"Graceful shutdown completed - sync was already completed, status unchanged"
|
|
136
|
+
)
|
|
124
137
|
except Exception as e:
|
|
125
|
-
logger.warning(f"
|
|
138
|
+
logger.warning(f"Error during graceful shutdown: {e}")
|
|
126
139
|
|
|
127
140
|
def _get_process_execution_mode(self) -> ProcessExecutionMode:
|
|
128
141
|
if self.config.process_execution_mode:
|
|
@@ -160,7 +173,10 @@ class Ocean:
|
|
|
160
173
|
)
|
|
161
174
|
except asyncio.CancelledError:
|
|
162
175
|
logger.warning(
|
|
163
|
-
"resync was cancelled by the scheduled resync,
|
|
176
|
+
"resync was cancelled by the scheduled resync, updating state to aborted"
|
|
177
|
+
)
|
|
178
|
+
await self.resync_state_updater.update_after_resync(
|
|
179
|
+
IntegrationStateStatus.Aborted
|
|
164
180
|
)
|
|
165
181
|
except Exception as e:
|
|
166
182
|
await self.resync_state_updater.update_after_resync(
|
|
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
|
|
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
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/cli/cookiecutter/hooks/post_gen_project.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
|
|
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
|
|
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
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/actions/abstract_executor.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/actions/execution_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/__init__.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entities_state_applier/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/entity_processor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/port_app_config/__init__.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
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/resync_state_updater/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/core/handlers/webhook/processor_manager.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
|
|
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
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/port/mixins/test_entities.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/clients/port/mixins/test_integrations.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
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/mixins/test_live_events.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/mixins/test_sync_raw.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/port_app_config/test_api.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/port_app_config/test_base.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/queue/test_group_queue.py
RENAMED
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/queue/test_local_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/handlers/webhook/test_webhook_event.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{port_ocean-0.29.2 → port_ocean-0.29.4}/port_ocean/tests/core/utils/test_resolve_entities_diff.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
|
|
File without changes
|
|
File without changes
|