apache-airflow-providers-edge3 1.5.0__tar.gz → 1.6.0rc2__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.
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/PKG-INFO +10 -10
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/README.rst +5 -5
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/changelog.rst +35 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/index.rst +6 -6
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/provider.yaml +2 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/pyproject.toml +5 -5
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/__init__.py +3 -3
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/api_client.py +11 -3
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/worker.py +8 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/win_test.py +29 -22
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_worker.py +6 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/v2-edge-generated.yaml +58 -3
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +14 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/common.ts +6 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/ensureQueryData.ts +6 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/prefetch.ts +6 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/queries.ts +6 -2
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/suspense.ts +6 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/schemas.gen.ts +5 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/services.gen.ts +18 -3
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/types.gen.ts +24 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/package.json +16 -14
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/pnpm-lock.yaml +1194 -1244
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/SearchBar.tsx +103 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/InputGroup.tsx +57 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Content.tsx +37 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Item.tsx +34 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Root.tsx +24 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/Trigger.tsx +54 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/ValueText.tsx +51 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/components/ui/Select/index.ts +34 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/index.ts +3 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/constants.ts +43 -0
- apache_airflow_providers_edge3-1.6.0rc2/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +224 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/_v2_compat.py +8 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/ui.py +14 -3
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/worker.py +14 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_worker.py +48 -0
- apache_airflow_providers_edge3-1.6.0rc2/www-hash.txt +1 -0
- apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/dist/main.umd.cjs +0 -14
- apache_airflow_providers_edge3-1.5.0/src/airflow/providers/edge3/plugins/www/src/pages/WorkerPage.tsx +0 -135
- apache_airflow_providers_edge3-1.5.0/www-hash.txt +0 -1
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/.pre-commit-config.yaml +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/LICENSE +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/NOTICE +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/architecture.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/cli-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/commits.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/conf.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/deployment.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/edge_executor.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/distributed_architecture.svg +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/edge_package.svg +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/img/worker_hosts.png +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/install_on_windows.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/security.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/ui_plugin.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/why_edge.rst +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/cli/signalling.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/integration_test.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/example_dags/win_notepad.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/executors/edge_executor.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/get_provider_info.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_job.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/models/edge_logs.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/openapi/edge_worker_api_v1.yaml +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/edge_executor_plugin.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/templates/edge_worker_hosts.html +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/templates/edge_worker_jobs.html +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.gitignore +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.prettierignore +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/.prettierrc +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/README.md +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/dist/main.d.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/eslint.config.js +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/index.html +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/index.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/queries/infiniteQueries.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiError.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiRequestOptions.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/ApiResult.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/CancelablePromise.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/OpenAPI.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/core/request.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/openapi-gen/requests/index.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/AddQueueButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ErrorAlert.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEditCommentButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceEnterButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/MaintenanceExitButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/RemoveQueueButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/StateIcon.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerDeleteButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerOperations.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerShutdownButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateBadge.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/WorkerStateIcon.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/Alert.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/CloseButton.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/ScrollToAnchor.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/components/ui/createToaster.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/ColorModeProvider.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/index.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/context/colorMode/useColorMode.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/dev.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/layouts/EdgeLayout.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/layouts/NavTabs.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/main.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/pages/JobsPage.tsx +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/README.md +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer-dark.svg +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/res/cloud-computer.svg +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/theme.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/config.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/index.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/utils/useContainerWidth.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/src/vite-env.d.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/testsSetup.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.app.json +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.json +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.lib.json +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/tsconfig.node.json +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/plugins/www/vite.config.ts +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/version_compat.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/app.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/auth.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/datamodels.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/datamodels_ui.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/_v2_routes.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/health.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/jobs.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/src/airflow/providers/edge3/worker_api/routes/logs.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/conftest.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_api_client.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_dataclasses.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_edge_command.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_signalling.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/cli/test_worker.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/executors/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/executors/test_edge_executor.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/models/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/plugins/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/plugins/test_edge_executor_plugin.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/__init__.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_health.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_jobs.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_logs.py +0 -0
- {apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/tests/unit/edge3/worker_api/routes/test_ui.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-edge3
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6.0rc2
|
|
4
4
|
Summary: Provider package apache-airflow-providers-edge3 for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,edge3,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -22,13 +22,13 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
License-File: NOTICE
|
|
25
|
-
Requires-Dist: apache-airflow>=2.
|
|
26
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.
|
|
25
|
+
Requires-Dist: apache-airflow>=2.11.0,!=3.1.0
|
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.10.0rc1
|
|
27
27
|
Requires-Dist: pydantic>=2.11.0
|
|
28
28
|
Requires-Dist: retryhttp>=1.2.0,!=1.3.0
|
|
29
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
30
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
31
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
30
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html
|
|
31
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0
|
|
32
32
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
33
33
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
34
34
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -59,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
59
59
|
|
|
60
60
|
Package ``apache-airflow-providers-edge3``
|
|
61
61
|
|
|
62
|
-
Release: ``1.
|
|
62
|
+
Release: ``1.6.0``
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
|
|
@@ -84,7 +84,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
|
|
|
84
84
|
are in ``airflow.providers.edge3`` python package.
|
|
85
85
|
|
|
86
86
|
You can find package information and changelog for the provider
|
|
87
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
87
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/>`_.
|
|
88
88
|
|
|
89
89
|
Installation
|
|
90
90
|
------------
|
|
@@ -101,8 +101,8 @@ Requirements
|
|
|
101
101
|
========================================== ====================
|
|
102
102
|
PIP package Version required
|
|
103
103
|
========================================== ====================
|
|
104
|
-
``apache-airflow`` ``>=2.
|
|
105
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
|
104
|
+
``apache-airflow`` ``>=2.11.0,!=3.1.0``
|
|
105
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.0``
|
|
106
106
|
``pydantic`` ``>=2.11.0``
|
|
107
107
|
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
108
108
|
========================================== ====================
|
|
@@ -127,5 +127,5 @@ Dependent package
|
|
|
127
127
|
================================================================================================================== =================
|
|
128
128
|
|
|
129
129
|
The changelog for the provider package can be found in the
|
|
130
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
130
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html>`_.
|
|
131
131
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-edge3``
|
|
25
25
|
|
|
26
|
-
Release: ``1.
|
|
26
|
+
Release: ``1.6.0``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
Handle edge workers on remote sites via HTTP(s) connection and orchestrates work over distributed sites.
|
|
@@ -48,7 +48,7 @@ This is a provider package for ``edge3`` provider. All classes for this provider
|
|
|
48
48
|
are in ``airflow.providers.edge3`` python package.
|
|
49
49
|
|
|
50
50
|
You can find package information and changelog for the provider
|
|
51
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
51
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/>`_.
|
|
52
52
|
|
|
53
53
|
Installation
|
|
54
54
|
------------
|
|
@@ -65,8 +65,8 @@ Requirements
|
|
|
65
65
|
========================================== ====================
|
|
66
66
|
PIP package Version required
|
|
67
67
|
========================================== ====================
|
|
68
|
-
``apache-airflow`` ``>=2.
|
|
69
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
|
68
|
+
``apache-airflow`` ``>=2.11.0,!=3.1.0``
|
|
69
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.0``
|
|
70
70
|
``pydantic`` ``>=2.11.0``
|
|
71
71
|
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
72
72
|
========================================== ====================
|
|
@@ -91,4 +91,4 @@ Dependent package
|
|
|
91
91
|
================================================================================================================== =================
|
|
92
92
|
|
|
93
93
|
The changelog for the provider package can be found in the
|
|
94
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
94
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html>`_.
|
{apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/changelog.rst
RENAMED
|
@@ -27,6 +27,41 @@
|
|
|
27
27
|
Changelog
|
|
28
28
|
---------
|
|
29
29
|
|
|
30
|
+
1.6.0
|
|
31
|
+
.....
|
|
32
|
+
|
|
33
|
+
.. note::
|
|
34
|
+
This release of provider is only available for Airflow 2.11+ as explained in the
|
|
35
|
+
Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
|
|
36
|
+
|
|
37
|
+
Features
|
|
38
|
+
~~~~~~~~
|
|
39
|
+
|
|
40
|
+
* ``Send executor integration info in workload (#57800)``
|
|
41
|
+
* ``Prevent duplicate edge workers unless existing worker is offline or unkown (#58586)``
|
|
42
|
+
* ``Add multi-select state filter to worker page (#58505)``
|
|
43
|
+
* ``Add queue name filtering to Edge Worker tab (#58416)``
|
|
44
|
+
* ``Add search functionality to Edge Worker tab (#58331)``
|
|
45
|
+
|
|
46
|
+
Bug Fixes
|
|
47
|
+
~~~~~~~~~
|
|
48
|
+
|
|
49
|
+
* ``Use 'before_sleep_log' in retries of Edge Worker (#58480)``
|
|
50
|
+
|
|
51
|
+
Misc
|
|
52
|
+
~~~~
|
|
53
|
+
|
|
54
|
+
* ``Bump the edge-ui-package-updates group across 1 directory with 8 updates (#58780)``
|
|
55
|
+
* ``Move out some exceptions to TaskSDK (#54505)``
|
|
56
|
+
* ``Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)``
|
|
57
|
+
* ``Upgrade Edge TS dependencies (#58413)``
|
|
58
|
+
* ``Fix lower bound dependency to common-compat provider (#58833)``
|
|
59
|
+
|
|
60
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
61
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
62
|
+
* ``Remove SDK reference for NOTSET in Airflow Core (#58258)``
|
|
63
|
+
* ``Prepare release for 2025-11-27 wave of providers (#58697)``
|
|
64
|
+
|
|
30
65
|
1.5.0
|
|
31
66
|
.....
|
|
32
67
|
|
{apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/docs/index.rst
RENAMED
|
@@ -90,7 +90,7 @@ Additional REST API endpoints are provided to distribute tasks and manage the ed
|
|
|
90
90
|
are provided by the API server.
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
Release: 1.
|
|
93
|
+
Release: 1.6.0
|
|
94
94
|
|
|
95
95
|
Provider package
|
|
96
96
|
----------------
|
|
@@ -108,13 +108,13 @@ For the minimum Airflow version supported, see ``Requirements`` below.
|
|
|
108
108
|
Requirements
|
|
109
109
|
------------
|
|
110
110
|
|
|
111
|
-
The minimum Apache Airflow version supported by this provider distribution is ``2.
|
|
111
|
+
The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``.
|
|
112
112
|
|
|
113
113
|
========================================== ====================
|
|
114
114
|
PIP package Version required
|
|
115
115
|
========================================== ====================
|
|
116
|
-
``apache-airflow`` ``>=2.
|
|
117
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
|
116
|
+
``apache-airflow`` ``>=2.11.0,!=3.1.0``
|
|
117
|
+
``apache-airflow-providers-common-compat`` ``>=1.10.0``
|
|
118
118
|
``pydantic`` ``>=2.11.0``
|
|
119
119
|
``retryhttp`` ``>=1.2.0,!=1.3.0``
|
|
120
120
|
========================================== ====================
|
|
@@ -144,5 +144,5 @@ Downloading official packages
|
|
|
144
144
|
You can download officially released packages and verify their checksums and signatures from the
|
|
145
145
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
146
146
|
|
|
147
|
-
* `The apache-airflow-providers-edge3 1.
|
|
148
|
-
* `The apache-airflow-providers-edge3 1.
|
|
147
|
+
* `The apache-airflow-providers-edge3 1.6.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0.tar.gz.sha512>`__)
|
|
148
|
+
* `The apache-airflow-providers-edge3 1.6.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_edge3-1.6.0-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/provider.yaml
RENAMED
|
@@ -33,13 +33,14 @@ description: |
|
|
|
33
33
|
are provided by the API server.
|
|
34
34
|
|
|
35
35
|
state: ready
|
|
36
|
-
source-date-epoch:
|
|
36
|
+
source-date-epoch: 1764110065
|
|
37
37
|
|
|
38
38
|
# Note that those versions are maintained by release manager - do not update them manually
|
|
39
39
|
# with the exception of case where other provider in sources has >= new provider version.
|
|
40
40
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
41
41
|
# to be done in the same PR
|
|
42
42
|
versions:
|
|
43
|
+
- 1.6.0
|
|
43
44
|
- 1.5.0
|
|
44
45
|
- 1.4.1
|
|
45
46
|
- 1.4.0
|
{apache_airflow_providers_edge3-1.5.0 → apache_airflow_providers_edge3-1.6.0rc2}/pyproject.toml
RENAMED
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-edge3"
|
|
28
|
-
version = "1.
|
|
28
|
+
version = "1.6.0rc2"
|
|
29
29
|
description = "Provider package apache-airflow-providers-edge3 for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
license = "Apache-2.0"
|
|
@@ -58,8 +58,8 @@ requires-python = ">=3.10"
|
|
|
58
58
|
# Make sure to run ``prek update-providers-dependencies --all-files``
|
|
59
59
|
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
|
60
60
|
dependencies = [
|
|
61
|
-
"apache-airflow>=2.
|
|
62
|
-
"apache-airflow-providers-common-compat>=1.
|
|
61
|
+
"apache-airflow>=2.11.0,!=3.1.0",
|
|
62
|
+
"apache-airflow-providers-common-compat>=1.10.0rc1",
|
|
63
63
|
"pydantic>=2.11.0",
|
|
64
64
|
"retryhttp>=1.2.0,!=1.3.0",
|
|
65
65
|
]
|
|
@@ -99,8 +99,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
99
99
|
apache-airflow-providers-standard = {workspace = true}
|
|
100
100
|
|
|
101
101
|
[project.urls]
|
|
102
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
103
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-edge3/1.
|
|
102
|
+
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0"
|
|
103
|
+
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-edge3/1.6.0/changelog.html"
|
|
104
104
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
105
105
|
"Source Code" = "https://github.com/apache/airflow"
|
|
106
106
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "1.
|
|
32
|
+
__version__ = "1.6.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.11.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-edge3:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-edge3:{__version__}` needs Apache Airflow 2.11.0+"
|
|
39
39
|
)
|
|
@@ -27,10 +27,13 @@ from urllib.parse import quote, urljoin
|
|
|
27
27
|
|
|
28
28
|
import requests
|
|
29
29
|
from retryhttp import retry, wait_retry_after
|
|
30
|
-
from tenacity import
|
|
30
|
+
from tenacity import before_sleep_log, wait_random_exponential
|
|
31
31
|
|
|
32
32
|
from airflow.configuration import conf
|
|
33
|
-
from airflow.providers.edge3.models.edge_worker import
|
|
33
|
+
from airflow.providers.edge3.models.edge_worker import (
|
|
34
|
+
EdgeWorkerDuplicateException,
|
|
35
|
+
EdgeWorkerVersionException,
|
|
36
|
+
)
|
|
34
37
|
from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS
|
|
35
38
|
from airflow.providers.edge3.worker_api.datamodels import (
|
|
36
39
|
EdgeJobFetched,
|
|
@@ -78,7 +81,7 @@ _default_wait = wait_random_exponential(min=API_RETRY_WAIT_MIN, max=API_RETRY_WA
|
|
|
78
81
|
wait_network_errors=_default_wait,
|
|
79
82
|
wait_timeouts=_default_wait,
|
|
80
83
|
wait_rate_limited=wait_retry_after(fallback=_default_wait), # No infinite timeout on HTTP 429
|
|
81
|
-
before_sleep=
|
|
84
|
+
before_sleep=before_sleep_log(logger, logging.WARNING),
|
|
82
85
|
)
|
|
83
86
|
def _make_generic_request(method: str, rest_path: str, data: str | None = None) -> Any:
|
|
84
87
|
if AIRFLOW_V_3_0_PLUS:
|
|
@@ -132,6 +135,11 @@ def worker_register(
|
|
|
132
135
|
except requests.HTTPError as e:
|
|
133
136
|
if e.response.status_code == 400:
|
|
134
137
|
raise EdgeWorkerVersionException(str(e))
|
|
138
|
+
if e.response.status_code == 409:
|
|
139
|
+
raise EdgeWorkerDuplicateException(
|
|
140
|
+
f"A worker with the name '{hostname}' is already active. "
|
|
141
|
+
"Please ensure worker names are unique, or stop the existing worker before starting a new one."
|
|
142
|
+
)
|
|
135
143
|
raise e
|
|
136
144
|
return WorkerRegistrationReturn(**result)
|
|
137
145
|
|
|
@@ -51,7 +51,11 @@ from airflow.providers.edge3.cli.signalling import (
|
|
|
51
51
|
status_file_path,
|
|
52
52
|
write_pid_to_pidfile,
|
|
53
53
|
)
|
|
54
|
-
from airflow.providers.edge3.models.edge_worker import
|
|
54
|
+
from airflow.providers.edge3.models.edge_worker import (
|
|
55
|
+
EdgeWorkerDuplicateException,
|
|
56
|
+
EdgeWorkerState,
|
|
57
|
+
EdgeWorkerVersionException,
|
|
58
|
+
)
|
|
55
59
|
from airflow.providers.edge3.version_compat import AIRFLOW_V_3_0_PLUS
|
|
56
60
|
from airflow.utils.net import getfqdn
|
|
57
61
|
from airflow.utils.state import TaskInstanceState
|
|
@@ -262,6 +266,9 @@ class EdgeWorker:
|
|
|
262
266
|
except EdgeWorkerVersionException as e:
|
|
263
267
|
logger.info("Version mismatch of Edge worker and Core. Shutting down worker.")
|
|
264
268
|
raise SystemExit(str(e))
|
|
269
|
+
except EdgeWorkerDuplicateException as e:
|
|
270
|
+
logger.error(str(e))
|
|
271
|
+
raise SystemExit(str(e))
|
|
265
272
|
except HTTPError as e:
|
|
266
273
|
if e.response.status_code == HTTPStatus.NOT_FOUND:
|
|
267
274
|
raise SystemExit("Error: API endpoint is not ready, please set [edge] api_enabled=True.")
|
|
@@ -32,42 +32,49 @@ from subprocess import STDOUT, Popen
|
|
|
32
32
|
from time import sleep
|
|
33
33
|
from typing import TYPE_CHECKING, Any
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
from airflow.sdk import task, task_group
|
|
37
|
-
except ImportError:
|
|
38
|
-
# Airflow 2 path
|
|
39
|
-
from airflow.decorators import task, task_group # type: ignore[attr-defined,no-redef]
|
|
40
|
-
from airflow.exceptions import AirflowException, AirflowNotFoundException, AirflowSkipException
|
|
35
|
+
from airflow.exceptions import AirflowException, AirflowNotFoundException
|
|
41
36
|
from airflow.models import BaseOperator
|
|
42
37
|
from airflow.models.dag import DAG
|
|
43
38
|
from airflow.models.variable import Variable
|
|
39
|
+
from airflow.providers.common.compat.sdk import AirflowSkipException
|
|
44
40
|
from airflow.providers.standard.operators.empty import EmptyOperator
|
|
41
|
+
from airflow.sdk.execution_time.context import context_to_airflow_vars
|
|
45
42
|
|
|
43
|
+
try:
|
|
44
|
+
from airflow.sdk import task, task_group
|
|
45
|
+
except ImportError:
|
|
46
|
+
from airflow.decorators import task, task_group # type: ignore[attr-defined,no-redef]
|
|
46
47
|
try:
|
|
47
48
|
from airflow.sdk import BaseHook
|
|
48
49
|
except ImportError:
|
|
49
50
|
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
try:
|
|
52
|
+
from airflow.sdk import Param
|
|
53
|
+
except ImportError:
|
|
54
|
+
from airflow.models import Param # type: ignore[attr-defined,no-redef]
|
|
52
55
|
try:
|
|
53
56
|
from airflow.sdk import TriggerRule
|
|
54
57
|
except ImportError:
|
|
55
|
-
# Compatibility for Airflow < 3.1
|
|
56
58
|
from airflow.utils.trigger_rule import TriggerRule # type: ignore[no-redef,attr-defined]
|
|
57
|
-
from airflow.sdk.execution_time.context import context_to_airflow_vars
|
|
58
|
-
from airflow.utils.types import ArgNotSet
|
|
59
|
-
|
|
60
|
-
if TYPE_CHECKING:
|
|
61
|
-
try:
|
|
62
|
-
from airflow.sdk.types import RuntimeTaskInstanceProtocol as TaskInstance
|
|
63
|
-
except ImportError:
|
|
64
|
-
from airflow.models import TaskInstance # type: ignore[assignment]
|
|
65
|
-
from airflow.utils.context import Context
|
|
66
|
-
|
|
67
59
|
try:
|
|
68
|
-
from airflow.operators
|
|
60
|
+
from airflow.providers.common.compat.standard.operators import PythonOperator
|
|
61
|
+
except ImportError:
|
|
62
|
+
from airflow.operators.python import PythonOperator # type: ignore[no-redef]
|
|
63
|
+
try:
|
|
64
|
+
from airflow.sdk.definitions._internal.types import NOTSET, ArgNotSet
|
|
69
65
|
except ImportError:
|
|
70
|
-
from airflow.
|
|
66
|
+
from airflow.utils.types import NOTSET, ArgNotSet # type: ignore[attr-defined,no-redef]
|
|
67
|
+
try:
|
|
68
|
+
from airflow.sdk.definitions._internal.types import is_arg_set
|
|
69
|
+
except ImportError:
|
|
70
|
+
|
|
71
|
+
def is_arg_set(value): # type: ignore[misc,no-redef]
|
|
72
|
+
return value is not NOTSET
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
if TYPE_CHECKING:
|
|
76
|
+
from airflow.sdk import Context
|
|
77
|
+
from airflow.sdk.types import RuntimeTaskInstanceProtocol as TaskInstance
|
|
71
78
|
|
|
72
79
|
|
|
73
80
|
class CmdOperator(BaseOperator):
|
|
@@ -163,7 +170,7 @@ class CmdOperator(BaseOperator):
|
|
|
163
170
|
# When using the @task.command decorator, the command is not known until the underlying Python
|
|
164
171
|
# callable is executed and therefore set to NOTSET initially. This flag is useful during execution to
|
|
165
172
|
# determine whether the command value needs to re-rendered.
|
|
166
|
-
self._init_command_not_set =
|
|
173
|
+
self._init_command_not_set = not is_arg_set(self.command)
|
|
167
174
|
|
|
168
175
|
@staticmethod
|
|
169
176
|
def refresh_command(ti: TaskInstance) -> None:
|
|
@@ -50,6 +50,12 @@ class EdgeWorkerVersionException(AirflowException):
|
|
|
50
50
|
pass
|
|
51
51
|
|
|
52
52
|
|
|
53
|
+
class EdgeWorkerDuplicateException(AirflowException):
|
|
54
|
+
"""Signal that a worker with the same name is already active."""
|
|
55
|
+
|
|
56
|
+
pass
|
|
57
|
+
|
|
58
|
+
|
|
53
59
|
class EdgeWorkerState(str, Enum):
|
|
54
60
|
"""Status of a Edge Worker instance."""
|
|
55
61
|
|
|
@@ -397,6 +397,12 @@ paths:
|
|
|
397
397
|
schema:
|
|
398
398
|
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
399
399
|
description: Forbidden
|
|
400
|
+
'409':
|
|
401
|
+
content:
|
|
402
|
+
application/json:
|
|
403
|
+
schema:
|
|
404
|
+
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
405
|
+
description: Conflict
|
|
400
406
|
'422':
|
|
401
407
|
description: Validation Error
|
|
402
408
|
content:
|
|
@@ -463,6 +469,12 @@ paths:
|
|
|
463
469
|
schema:
|
|
464
470
|
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
465
471
|
description: Forbidden
|
|
472
|
+
'409':
|
|
473
|
+
content:
|
|
474
|
+
application/json:
|
|
475
|
+
schema:
|
|
476
|
+
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
477
|
+
description: Conflict
|
|
466
478
|
'422':
|
|
467
479
|
description: Validation Error
|
|
468
480
|
content:
|
|
@@ -523,6 +535,12 @@ paths:
|
|
|
523
535
|
schema:
|
|
524
536
|
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
525
537
|
description: Forbidden
|
|
538
|
+
'409':
|
|
539
|
+
content:
|
|
540
|
+
application/json:
|
|
541
|
+
schema:
|
|
542
|
+
$ref: '#/components/schemas/HTTPExceptionResponse'
|
|
543
|
+
description: Conflict
|
|
526
544
|
'422':
|
|
527
545
|
description: Validation Error
|
|
528
546
|
content:
|
|
@@ -553,6 +571,36 @@ paths:
|
|
|
553
571
|
summary: Worker
|
|
554
572
|
description: Return Edge Workers.
|
|
555
573
|
operationId: worker
|
|
574
|
+
security:
|
|
575
|
+
- OAuth2PasswordBearer: []
|
|
576
|
+
- HTTPBearer: []
|
|
577
|
+
parameters:
|
|
578
|
+
- name: worker_name_pattern
|
|
579
|
+
in: query
|
|
580
|
+
required: false
|
|
581
|
+
schema:
|
|
582
|
+
anyOf:
|
|
583
|
+
- type: string
|
|
584
|
+
- type: 'null'
|
|
585
|
+
title: Worker Name Pattern
|
|
586
|
+
- name: queue_name_pattern
|
|
587
|
+
in: query
|
|
588
|
+
required: false
|
|
589
|
+
schema:
|
|
590
|
+
anyOf:
|
|
591
|
+
- type: string
|
|
592
|
+
- type: 'null'
|
|
593
|
+
title: Queue Name Pattern
|
|
594
|
+
- name: state
|
|
595
|
+
in: query
|
|
596
|
+
required: false
|
|
597
|
+
schema:
|
|
598
|
+
anyOf:
|
|
599
|
+
- type: array
|
|
600
|
+
items:
|
|
601
|
+
$ref: '#/components/schemas/EdgeWorkerState'
|
|
602
|
+
- type: 'null'
|
|
603
|
+
title: State
|
|
556
604
|
responses:
|
|
557
605
|
'200':
|
|
558
606
|
description: Successful Response
|
|
@@ -560,9 +608,12 @@ paths:
|
|
|
560
608
|
application/json:
|
|
561
609
|
schema:
|
|
562
610
|
$ref: '#/components/schemas/WorkerCollectionResponse'
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
611
|
+
'422':
|
|
612
|
+
description: Validation Error
|
|
613
|
+
content:
|
|
614
|
+
application/json:
|
|
615
|
+
schema:
|
|
616
|
+
$ref: '#/components/schemas/HTTPValidationError'
|
|
566
617
|
/edge_worker/ui/jobs:
|
|
567
618
|
get:
|
|
568
619
|
tags:
|
|
@@ -899,6 +950,10 @@ components:
|
|
|
899
950
|
title: Log Path
|
|
900
951
|
ti:
|
|
901
952
|
$ref: '#/components/schemas/TaskInstance'
|
|
953
|
+
sentry_integration:
|
|
954
|
+
type: string
|
|
955
|
+
title: Sentry Integration
|
|
956
|
+
default: ''
|
|
902
957
|
type:
|
|
903
958
|
type: string
|
|
904
959
|
const: ExecuteTask
|