port-ocean 0.12.2.dev1__tar.gz → 0.12.2.dev3__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.

Potentially problematic release.


This version of port-ocean might be problematic. Click here for more details.

Files changed (146) hide show
  1. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/PKG-INFO +1 -1
  2. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/base.py +2 -2
  3. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/sync_raw.py +90 -89
  4. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/log/handlers.py +2 -2
  5. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/ocean.py +2 -2
  6. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/pyproject.toml +1 -1
  7. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/LICENSE.md +0 -0
  8. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/README.md +0 -0
  9. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/__init__.py +0 -0
  10. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/bootstrap.py +0 -0
  11. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/__init__.py +0 -0
  12. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cli.py +0 -0
  13. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/__init__.py +0 -0
  14. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/defaults/__init___.py +0 -0
  15. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/defaults/clean.py +0 -0
  16. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/defaults/dock.py +0 -0
  17. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/defaults/group.py +0 -0
  18. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/list_integrations.py +0 -0
  19. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/main.py +0 -0
  20. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/new.py +0 -0
  21. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/pull.py +0 -0
  22. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/sail.py +0 -0
  23. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/commands/version.py +0 -0
  24. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/__init__.py +0 -0
  25. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/cookiecutter.json +0 -0
  26. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/extensions.py +0 -0
  27. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/hooks/post_gen_project.py +0 -0
  28. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.dockerignore +0 -0
  29. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.env.example +0 -0
  30. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.gitignore +0 -0
  31. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/.gitignore +0 -0
  32. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/blueprints.json +0 -0
  33. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/resources/port-app-config.yml +0 -0
  34. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/.port/spec.yaml +0 -0
  35. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CHANGELOG.md +0 -0
  36. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/CONTRIBUTING.md +0 -0
  37. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/Dockerfile +0 -0
  38. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/README.md +0 -0
  39. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/changelog/.gitignore +0 -0
  40. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/debug.py +0 -0
  41. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/main.py +0 -0
  42. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/poetry.toml +0 -0
  43. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/pyproject.toml +0 -0
  44. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/sonar-project.properties +0 -0
  45. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/__init__.py +0 -0
  46. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/cookiecutter/{{cookiecutter.integration_slug}}/tests/test_sample.py +0 -0
  47. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/cli/utils.py +0 -0
  48. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/__init__.py +0 -0
  49. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/__init__.py +0 -0
  50. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/authentication.py +0 -0
  51. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/client.py +0 -0
  52. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/mixins/__init__.py +0 -0
  53. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/mixins/blueprints.py +0 -0
  54. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/mixins/entities.py +0 -0
  55. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/mixins/integrations.py +0 -0
  56. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/mixins/migrations.py +0 -0
  57. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/retry_transport.py +0 -0
  58. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/types.py +0 -0
  59. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/clients/port/utils.py +0 -0
  60. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/config/__init__.py +0 -0
  61. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/config/base.py +0 -0
  62. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/config/dynamic.py +0 -0
  63. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/config/settings.py +0 -0
  64. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/consumers/__init__.py +0 -0
  65. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/consumers/kafka_consumer.py +0 -0
  66. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/context/__init__.py +0 -0
  67. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/context/event.py +0 -0
  68. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/context/ocean.py +0 -0
  69. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/context/resource.py +0 -0
  70. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/__init__.py +0 -0
  71. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/defaults/__init__.py +0 -0
  72. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/defaults/clean.py +0 -0
  73. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/defaults/common.py +0 -0
  74. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/defaults/initialize.py +0 -0
  75. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/__init__.py +0 -0
  76. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/factory.py +0 -0
  77. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/http.py +0 -0
  78. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/kafka.py +0 -0
  79. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/once.py +0 -0
  80. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/event_listener/polling.py +0 -0
  81. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/__init__.py +0 -0
  82. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/base.py +0 -0
  83. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/__init__.py +0 -0
  84. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/base.py +0 -0
  85. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/port/__init__.py +0 -0
  86. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/port/applier.py +0 -0
  87. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/port/get_related_entities.py +0 -0
  88. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entities_state_applier/port/order_by_entities_dependencies.py +0 -0
  89. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entity_processor/__init__.py +0 -0
  90. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entity_processor/base.py +0 -0
  91. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/entity_processor/jq_entity_processor.py +0 -0
  92. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/port_app_config/__init__.py +0 -0
  93. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/port_app_config/api.py +0 -0
  94. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/port_app_config/base.py +0 -0
  95. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/port_app_config/models.py +0 -0
  96. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/resync_state_updater/__init__.py +0 -0
  97. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/handlers/resync_state_updater/updater.py +0 -0
  98. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/__init__.py +0 -0
  99. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/base.py +0 -0
  100. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/__init__.py +0 -0
  101. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/events.py +0 -0
  102. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/handler.py +0 -0
  103. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/sync.py +0 -0
  104. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/integrations/mixins/utils.py +0 -0
  105. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/models.py +0 -0
  106. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/ocean_types.py +0 -0
  107. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/core/utils.py +0 -0
  108. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/__init__.py +0 -0
  109. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/api.py +0 -0
  110. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/base.py +0 -0
  111. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/clients.py +0 -0
  112. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/context.py +0 -0
  113. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/core.py +0 -0
  114. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/port_defaults.py +0 -0
  115. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/exceptions/utils.py +0 -0
  116. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/helpers/__init__.py +0 -0
  117. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/helpers/async_client.py +0 -0
  118. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/helpers/retry.py +0 -0
  119. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/log/__init__.py +0 -0
  120. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/log/logger_setup.py +0 -0
  121. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/log/sensetive.py +0 -0
  122. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/middlewares.py +0 -0
  123. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/py.typed +0 -0
  124. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/run.py +0 -0
  125. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/sonar-project.properties +0 -0
  126. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/__init__.py +0 -0
  127. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/clients/port/mixins/test_entities.py +0 -0
  128. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/conftest.py +0 -0
  129. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py +0 -0
  130. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/__init__.py +0 -0
  131. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/fixtures.py +0 -0
  132. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/integration.py +0 -0
  133. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/ocean_app.py +0 -0
  134. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/port_client.py +0 -0
  135. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/helpers/smoke_test.py +0 -0
  136. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/tests/test_smoke.py +0 -0
  137. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/__init__.py +0 -0
  138. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/async_http.py +0 -0
  139. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/async_iterators.py +0 -0
  140. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/cache.py +0 -0
  141. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/misc.py +0 -0
  142. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/queue_utils.py +0 -0
  143. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/repeat.py +0 -0
  144. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/signal.py +0 -0
  145. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/utils/time.py +0 -0
  146. {port_ocean-0.12.2.dev1 → port_ocean-0.12.2.dev3}/port_ocean/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: port-ocean
3
- Version: 0.12.2.dev1
3
+ Version: 0.12.2.dev3
4
4
  Summary: Port Ocean is a CLI tool for managing your Port projects.
5
5
  Home-page: https://app.getport.io
6
6
  Keywords: ocean,port-ocean,port
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from abc import abstractmethod
3
- from concurrent.futures import ThreadPoolExecutor
3
+ from concurrent.futures import ProcessPoolExecutor
4
4
  from typing import TypedDict, Callable, Any, Awaitable
5
5
 
6
6
  from pydantic import Extra
@@ -70,7 +70,7 @@ class BaseEventListener:
70
70
  await self._before_resync()
71
71
  try:
72
72
  loop = asyncio.get_event_loop()
73
- with ThreadPoolExecutor() as executor:
73
+ with ProcessPoolExecutor() as executor:
74
74
  e = executor.submit(
75
75
  lambda: asyncio.run_coroutine_threadsafe(
76
76
  self.events["on_resync"](resync_args), loop
@@ -173,48 +173,49 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
173
173
  self, resource_config: ResourceConfig, user_agent_type: UserAgentType
174
174
  ) -> tuple[list[Entity], list[Exception]]:
175
175
  results, errors = await self._get_resource_raw_results(resource_config)
176
- async_generators: list[ASYNC_GENERATOR_RESYNC_TYPE] = []
177
- raw_results: RAW_RESULT = []
178
- for result in results:
179
- if isinstance(result, dict):
180
- raw_results.append(result)
181
- else:
182
- async_generators.append(result)
183
-
184
- send_raw_data_examples_amount = (
185
- SEND_RAW_DATA_EXAMPLES_AMOUNT if ocean.config.send_raw_data_examples else 0
186
- )
187
- all_entities, register_errors = await self._register_resource_raw(
188
- resource_config,
189
- raw_results,
190
- user_agent_type,
191
- send_raw_data_examples_amount=send_raw_data_examples_amount,
192
- )
193
- errors.extend(register_errors)
194
- passed_entities = list(all_entities.passed)
195
-
196
- for generator in async_generators:
197
- try:
198
- async for items in generator:
199
- if send_raw_data_examples_amount > 0:
200
- send_raw_data_examples_amount = max(
201
- 0, send_raw_data_examples_amount - len(passed_entities)
202
- )
203
-
204
- entities, register_errors = await self._register_resource_raw(
205
- resource_config,
206
- items,
207
- user_agent_type,
208
- send_raw_data_examples_amount=send_raw_data_examples_amount,
209
- )
210
- errors.extend(register_errors)
211
- passed_entities.extend(entities.passed)
212
- except* OceanAbortException as error:
213
- errors.append(error)
214
-
215
- logger.info(
216
- f"Finished registering change for {len(results)} raw results for kind: {resource_config.kind}. {len(passed_entities)} entities were affected"
217
- )
176
+ passed_entities = []
177
+ # async_generators: list[ASYNC_GENERATOR_RESYNC_TYPE] = []
178
+ # raw_results: RAW_RESULT = []
179
+ # for result in results:
180
+ # if isinstance(result, dict):
181
+ # raw_results.append(result)
182
+ # else:
183
+ # async_generators.append(result)
184
+ #
185
+ # send_raw_data_examples_amount = (
186
+ # SEND_RAW_DATA_EXAMPLES_AMOUNT if ocean.config.send_raw_data_examples else 0
187
+ # )
188
+ # all_entities, register_errors = await self._register_resource_raw(
189
+ # resource_config,
190
+ # raw_results,
191
+ # user_agent_type,
192
+ # send_raw_data_examples_amount=send_raw_data_examples_amount,
193
+ # )
194
+ # errors.extend(register_errors)
195
+ # passed_entities = list(all_entities.passed)
196
+ #
197
+ # for generator in async_generators:
198
+ # try:
199
+ # async for items in generator:
200
+ # if send_raw_data_examples_amount > 0:
201
+ # send_raw_data_examples_amount = max(
202
+ # 0, send_raw_data_examples_amount - len(passed_entities)
203
+ # )
204
+ #
205
+ # entities, register_errors = await self._register_resource_raw(
206
+ # resource_config,
207
+ # items,
208
+ # user_agent_type,
209
+ # send_raw_data_examples_amount=send_raw_data_examples_amount,
210
+ # )
211
+ # errors.extend(register_errors)
212
+ # passed_entities.extend(entities.passed)
213
+ # except* OceanAbortException as error:
214
+ # errors.append(error)
215
+ #
216
+ # logger.info(
217
+ # f"Finished registering change for {len(results)} raw results for kind: {resource_config.kind}. {len(passed_entities)} entities were affected"
218
+ # )
218
219
  return passed_entities, errors
219
220
 
220
221
  async def register_raw(
@@ -426,20 +427,20 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
426
427
  use_cache=False
427
428
  )
428
429
  logger.info(f"Resync will use the following mappings: {app_config.dict()}")
429
- try:
430
- did_fetched_current_state = True
431
- entities_at_port = await ocean.port_client.search_entities(
432
- user_agent_type
433
- )
434
- except httpx.HTTPError as e:
435
- logger.warning(
436
- "Failed to fetch the current state of entities at Port. "
437
- "Skipping delete phase due to unknown initial state. "
438
- f"Error: {e}\n"
439
- f"Response status code: {e.response.status_code if isinstance(e, httpx.HTTPStatusError) else None}\n"
440
- f"Response content: {e.response.text if isinstance(e, httpx.HTTPStatusError) else None}\n"
441
- )
442
- did_fetched_current_state = False
430
+ # try:
431
+ # did_fetched_current_state = True
432
+ # entities_at_port = await ocean.port_client.search_entities(
433
+ # user_agent_type
434
+ # )
435
+ # except httpx.HTTPError as e:
436
+ # logger.warning(
437
+ # "Failed to fetch the current state of entities at Port. "
438
+ # "Skipping delete phase due to unknown initial state. "
439
+ # f"Error: {e}\n"
440
+ # f"Response status code: {e.response.status_code if isinstance(e, httpx.HTTPStatusError) else None}\n"
441
+ # f"Response content: {e.response.text if isinstance(e, httpx.HTTPStatusError) else None}\n"
442
+ # )
443
+ # did_fetched_current_state = False
443
444
 
444
445
  creation_results: list[tuple[list[Entity], list[Exception]]] = []
445
446
 
@@ -458,36 +459,36 @@ class SyncRawMixin(HandlerMixin, EventsMixin):
458
459
  except asyncio.CancelledError as e:
459
460
  logger.warning("Resync aborted successfully, skipping delete phase. This leads to an incomplete state")
460
461
  raise
461
- else:
462
- if not did_fetched_current_state:
463
- logger.warning(
464
- "Due to an error before the resync, the previous state of entities at Port is unknown."
465
- " Skipping delete phase due to unknown initial state."
466
- )
467
- return
468
-
469
- logger.info("Starting resync diff calculation")
470
- flat_created_entities, errors = zip_and_sum(creation_results) or [
471
- [],
472
- [],
473
- ]
474
-
475
- if errors:
476
- message = f"Resync failed with {len(errors)}. Skipping delete phase due to incomplete state"
477
- error_group = ExceptionGroup(
478
- f"Resync failed with {len(errors)}. Skipping delete phase due to incomplete state",
479
- errors,
480
- )
481
- if not silent:
482
- raise error_group
483
-
484
- logger.error(message, exc_info=error_group)
485
- else:
486
- logger.info(
487
- f"Running resync diff calculation, number of entities at Port before resync: {len(entities_at_port)}, number of entities created during sync: {len(flat_created_entities)}"
488
- )
489
- await self.entities_state_applier.delete_diff(
490
- {"before": entities_at_port, "after": flat_created_entities},
491
- user_agent_type,
492
- )
493
- logger.info("Resync finished successfully")
462
+ # else:
463
+ # if not did_fetched_current_state:
464
+ # logger.warning(
465
+ # "Due to an error before the resync, the previous state of entities at Port is unknown."
466
+ # " Skipping delete phase due to unknown initial state."
467
+ # )
468
+ # return
469
+ #
470
+ # logger.info("Starting resync diff calculation")
471
+ # flat_created_entities, errors = zip_and_sum(creation_results) or [
472
+ # [],
473
+ # [],
474
+ # ]
475
+ #
476
+ # if errors:
477
+ # message = f"Resync failed with {len(errors)}. Skipping delete phase due to incomplete state"
478
+ # error_group = ExceptionGroup(
479
+ # f"Resync failed with {len(errors)}. Skipping delete phase due to incomplete state",
480
+ # errors,
481
+ # )
482
+ # if not silent:
483
+ # raise error_group
484
+ #
485
+ # logger.error(message, exc_info=error_group)
486
+ # else:
487
+ # logger.info(
488
+ # f"Running resync diff calculation, number of entities at Port before resync: {len(entities_at_port)}, number of entities created during sync: {len(flat_created_entities)}"
489
+ # )
490
+ # await self.entities_state_applier.delete_diff(
491
+ # {"before": entities_at_port, "after": flat_created_entities},
492
+ # user_agent_type,
493
+ # )
494
+ # logger.info("Resync finished successfully")
@@ -2,7 +2,7 @@ import asyncio
2
2
  import logging
3
3
  import sys
4
4
  import time
5
- from concurrent.futures import ThreadPoolExecutor
5
+ from concurrent.futures import ProcessPoolExecutor
6
6
  from datetime import datetime
7
7
  from logging.handlers import MemoryHandler
8
8
  from typing import Any
@@ -72,7 +72,7 @@ class HTTPMemoryHandler(MemoryHandler):
72
72
  self._serialized_buffer.clear()
73
73
  self.last_flush_time = time.time()
74
74
  loop = asyncio.new_event_loop()
75
- with ThreadPoolExecutor() as executor:
75
+ with ProcessPoolExecutor() as executor:
76
76
  executor.submit(
77
77
  lambda: asyncio.run_coroutine_threadsafe(
78
78
  self.send_logs(self.ocean, logs), loop
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  import sys
3
- from concurrent.futures import ThreadPoolExecutor
3
+ from concurrent.futures import ProcessPoolExecutor
4
4
  from contextlib import asynccontextmanager
5
5
  from typing import Callable, Any, Dict, AsyncIterator, Type
6
6
 
@@ -93,7 +93,7 @@ class Ocean:
93
93
  raise e
94
94
 
95
95
  def pool_executor_wrapper(event_loop) -> None:
96
- with ThreadPoolExecutor() as executor:
96
+ with ProcessPoolExecutor() as executor:
97
97
  e = executor.submit(lambda: asyncio.run_coroutine_threadsafe(
98
98
  execute_resync_all(), event_loop
99
99
  ))
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "port-ocean"
3
- version = "0.12.2-dev01"
3
+ version = "0.12.2-dev03"
4
4
  description = "Port Ocean is a CLI tool for managing your Port projects."
5
5
  readme = "README.md"
6
6
  homepage = "https://app.getport.io"