dagster-cloud 1.12.10__tar.gz → 1.12.12__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.
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/PKG-INFO +16 -13
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/agent/dagster_cloud_agent.py +43 -86
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/instance/__init__.py +1 -28
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/server/manager.py +3 -3
- dagster_cloud-1.12.12/dagster_cloud/version.py +1 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/docker/__init__.py +2 -1
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/client.py +1 -1
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/launcher.py +8 -4
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/kubernetes/launcher.py +5 -3
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/kubernetes/utils.py +6 -3
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/user_code_launcher/user_code_launcher.py +41 -104
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/user_code_launcher/utils.py +14 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud.egg-info/PKG-INFO +16 -13
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud.egg-info/SOURCES.txt +0 -22
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud.egg-info/requires.txt +12 -11
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/pyproject.toml +15 -12
- dagster_cloud-1.12.10/dagster_cloud/agent/instrumentation/constants.py +0 -2
- dagster_cloud-1.12.10/dagster_cloud/agent/instrumentation/run_launch.py +0 -23
- dagster_cloud-1.12.10/dagster_cloud/agent/instrumentation/schedule.py +0 -34
- dagster_cloud-1.12.10/dagster_cloud/agent/instrumentation/sensor.py +0 -34
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/__init__.py +0 -73
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/exporter.py +0 -81
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/log_record_processor.py +0 -40
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/logging_handler.py +0 -14
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/meter_provider.py +0 -9
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/config/metric_reader.py +0 -39
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/controller.py +0 -319
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/enum.py +0 -58
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/factories/__init__.py +0 -1
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/factories/logs.py +0 -113
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/factories/metrics.py +0 -121
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/metrics/meter.py +0 -140
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/observers/__init__.py +0 -0
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/observers/dagster_exception_handler.py +0 -40
- dagster_cloud-1.12.10/dagster_cloud/opentelemetry/observers/execution_observer.py +0 -178
- dagster_cloud-1.12.10/dagster_cloud/pex/__init__.py +0 -0
- dagster_cloud-1.12.10/dagster_cloud/storage/__init__.py +0 -0
- dagster_cloud-1.12.10/dagster_cloud/version.py +0 -1
- dagster_cloud-1.12.10/dagster_cloud/workspace/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/README.md +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/agent/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/agent/cli/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/agent/queries.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/anomaly_detection/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/anomaly_detection/defs.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/anomaly_detection/mutation.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/anomaly_detection/types.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/agent/instrumentation → dagster_cloud-1.12.12/dagster_cloud/api}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/api/dagster_cloud_api.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/api → dagster_cloud-1.12.12/dagster_cloud/artifacts}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/auth/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/auth/constants.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/batching/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/batching/batcher.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/constants.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/__init__.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/artifacts → dagster_cloud-1.12.12/dagster_cloud/dagster_insights/bigquery}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/bigquery/bigquery_utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/bigquery/dbt_wrapper.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/bigquery/insights_bigquery_resource.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/errors.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/insights_utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/metrics_utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/query.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/dagster_insights/bigquery → dagster_cloud-1.12.12/dagster_cloud/dagster_insights/snowflake}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/snowflake/dagster_snowflake_insights.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/snowflake/dbt_wrapper.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/snowflake/definitions.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/snowflake/insights_snowflake_resource.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/dagster_insights/snowflake/snowflake_utils.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/dagster_insights/snowflake → dagster_cloud-1.12.12/dagster_cloud/definitions}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/definitions/job_selection.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/definitions → dagster_cloud-1.12.12/dagster_cloud/execution}/__init__.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/execution → dagster_cloud-1.12.12/dagster_cloud/execution/cloud_run_launcher}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/execution/cloud_run_launcher/k8s.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/execution/cloud_run_launcher/process.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/execution/monitoring/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/execution/utils/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/execution/utils/process.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/instrumentation/__init__.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/execution/cloud_run_launcher → dagster_cloud-1.12.12/dagster_cloud/metadata}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/metadata/source_code.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/metadata → dagster_cloud-1.12.12/dagster_cloud/metrics}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/metrics/tracer.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/metrics → dagster_cloud-1.12.12/dagster_cloud/pex}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/__generated__/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.pyi +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2_grpc.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/client.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/compile.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/server/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/server/cli/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/server/registry.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/server/server.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/pex/grpc/types.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/py.typed +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/secrets/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/secrets/loader.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/serverless/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/serverless/io_manager.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/opentelemetry → dagster_cloud-1.12.12/dagster_cloud/storage}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/client.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/compute_logs/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/compute_logs/compute_log_manager.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/defs_state/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/defs_state/queries.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/defs_state/storage.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/event_logs/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/event_logs/queries.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/event_logs/storage.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/event_logs/utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/runs/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/runs/queries.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/runs/storage.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/schedules/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/schedules/queries.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/schedules/storage.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/storage/tags.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/util/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/util/container_resources.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/util/errors.py +0 -0
- {dagster_cloud-1.12.10/dagster_cloud/opentelemetry/metrics → dagster_cloud-1.12.12/dagster_cloud/workspace}/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/config_schema/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/config_schema/docker.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/config_schema/ecs.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/config_schema/kubernetes.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/docker/utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/run_launcher.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/service.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/ecs/utils.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/kubernetes/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/user_code_launcher/__init__.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/user_code_launcher/process.py +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud.egg-info/dependency_links.txt +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud.egg-info/top_level.txt +0 -0
- {dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dagster-cloud
|
|
3
|
-
Version: 1.12.
|
|
3
|
+
Version: 1.12.12
|
|
4
4
|
Author-email: Elementl <support@elementl.com>
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Project-URL: Homepage, https://dagster.io/cloud
|
|
@@ -22,19 +22,17 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
27
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
26
28
|
Classifier: Topic :: System :: Monitoring
|
|
27
29
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
28
30
|
Classifier: Operating System :: OS Independent
|
|
29
|
-
Requires-Python: <3.
|
|
31
|
+
Requires-Python: <3.15,>=3.9
|
|
30
32
|
Description-Content-Type: text/markdown
|
|
31
|
-
Requires-Dist: dagster==1.12.
|
|
32
|
-
Requires-Dist: dagster-shared==1.12.
|
|
33
|
-
Requires-Dist: dagster-cloud-cli==1.12.
|
|
34
|
-
Requires-Dist: opentelemetry-api<2,>=1.27.0
|
|
35
|
-
Requires-Dist: opentelemetry-sdk<2,>=1.27.0
|
|
36
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2,>=1.27.0
|
|
37
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2,>=1.27.0
|
|
33
|
+
Requires-Dist: dagster==1.12.12
|
|
34
|
+
Requires-Dist: dagster-shared==1.12.12
|
|
35
|
+
Requires-Dist: dagster-cloud-cli==1.12.12
|
|
38
36
|
Requires-Dist: pex<2.60.0,>=2.1.132
|
|
39
37
|
Requires-Dist: questionary
|
|
40
38
|
Requires-Dist: requests
|
|
@@ -53,24 +51,29 @@ Requires-Dist: pylint; extra == "tests"
|
|
|
53
51
|
Requires-Dist: pytest; extra == "tests"
|
|
54
52
|
Requires-Dist: types-PyYAML; extra == "tests"
|
|
55
53
|
Requires-Dist: types-requests; extra == "tests"
|
|
56
|
-
Requires-Dist: dagster-cloud-test-infra; extra == "tests"
|
|
57
54
|
Requires-Dist: dbt-bigquery>=1.9.0; extra == "tests"
|
|
58
55
|
Requires-Dist: dbt-core; extra == "tests"
|
|
59
56
|
Requires-Dist: dbt-snowflake; extra == "tests"
|
|
60
57
|
Requires-Dist: dbt-duckdb; extra == "tests"
|
|
61
58
|
Requires-Dist: dagster-dbt; extra == "tests"
|
|
62
59
|
Requires-Dist: dagster-k8s; extra == "tests"
|
|
60
|
+
Requires-Dist: dagster-docker; extra == "tests"
|
|
63
61
|
Requires-Dist: dagster-cloud-backend; extra == "tests"
|
|
62
|
+
Requires-Dist: dagster-test; extra == "tests"
|
|
63
|
+
Requires-Dist: dagster-cloud-test-infra; extra == "tests"
|
|
64
|
+
Requires-Dist: dagster-cloud-dagit; extra == "tests"
|
|
65
|
+
Requires-Dist: dagster-dg-cli; extra == "tests"
|
|
66
|
+
Requires-Dist: syrupy; extra == "tests"
|
|
64
67
|
Provides-Extra: insights
|
|
65
68
|
Requires-Dist: pyarrow; extra == "insights"
|
|
66
69
|
Provides-Extra: docker
|
|
67
70
|
Requires-Dist: docker; extra == "docker"
|
|
68
|
-
Requires-Dist: dagster-docker==0.28.
|
|
71
|
+
Requires-Dist: dagster-docker==0.28.12; extra == "docker"
|
|
69
72
|
Provides-Extra: kubernetes
|
|
70
73
|
Requires-Dist: kubernetes; extra == "kubernetes"
|
|
71
|
-
Requires-Dist: dagster-k8s==0.28.
|
|
74
|
+
Requires-Dist: dagster-k8s==0.28.12; extra == "kubernetes"
|
|
72
75
|
Provides-Extra: ecs
|
|
73
|
-
Requires-Dist: dagster-aws==0.28.
|
|
76
|
+
Requires-Dist: dagster-aws==0.28.12; extra == "ecs"
|
|
74
77
|
Requires-Dist: boto3; extra == "ecs"
|
|
75
78
|
Provides-Extra: sandbox
|
|
76
79
|
Requires-Dist: supervisor; extra == "sandbox"
|
|
@@ -30,11 +30,8 @@ from dagster._utils.merger import merge_dicts
|
|
|
30
30
|
from dagster._utils.typed_dict import init_optional_typeddict
|
|
31
31
|
from dagster_cloud_cli.core.errors import DagsterCloudHTTPError, raise_http_error
|
|
32
32
|
from dagster_cloud_cli.core.workspace import CodeLocationDeployData
|
|
33
|
+
from dagster_shared.record import replace
|
|
33
34
|
|
|
34
|
-
from dagster_cloud.agent.instrumentation.constants import DAGSTER_CLOUD_AGENT_METRIC_PREFIX
|
|
35
|
-
from dagster_cloud.agent.instrumentation.run_launch import extract_run_attributes
|
|
36
|
-
from dagster_cloud.agent.instrumentation.schedule import inspect_schedule_result
|
|
37
|
-
from dagster_cloud.agent.instrumentation.sensor import inspect_sensor_result
|
|
38
35
|
from dagster_cloud.agent.queries import (
|
|
39
36
|
ADD_AGENT_HEARTBEATS_MUTATION,
|
|
40
37
|
DEPLOYMENTS_QUERY,
|
|
@@ -58,7 +55,6 @@ from dagster_cloud.api.dagster_cloud_api import (
|
|
|
58
55
|
)
|
|
59
56
|
from dagster_cloud.batching import Batcher
|
|
60
57
|
from dagster_cloud.instance import DagsterCloudAgentInstance
|
|
61
|
-
from dagster_cloud.opentelemetry.observers.execution_observer import observe_execution
|
|
62
58
|
from dagster_cloud.util import SERVER_HANDLE_TAG, compressed_namedtuple_upload_file, is_isolated_run
|
|
63
59
|
from dagster_cloud.version import __version__
|
|
64
60
|
from dagster_cloud.workspace.user_code_launcher import (
|
|
@@ -907,8 +903,9 @@ class DagsterCloudAgent:
|
|
|
907
903
|
user_code_launcher, deployment_name, cast("str", location_name)
|
|
908
904
|
)
|
|
909
905
|
serialized_snapshot_or_error = client.execution_plan_snapshot(
|
|
910
|
-
execution_plan_snapshot_args=
|
|
911
|
-
|
|
906
|
+
execution_plan_snapshot_args=replace(
|
|
907
|
+
request.request_args,
|
|
908
|
+
instance_ref=self._get_user_code_instance_ref(deployment_name),
|
|
912
909
|
)
|
|
913
910
|
)
|
|
914
911
|
return DagsterCloudApiGrpcResponse(
|
|
@@ -974,64 +971,34 @@ class DagsterCloudAgent:
|
|
|
974
971
|
user_code_launcher, deployment_name, cast("str", location_name)
|
|
975
972
|
)
|
|
976
973
|
|
|
977
|
-
args =
|
|
978
|
-
|
|
974
|
+
args = replace(
|
|
975
|
+
request.request_args,
|
|
976
|
+
instance_ref=self._get_user_code_instance_ref(deployment_name),
|
|
979
977
|
)
|
|
980
978
|
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
with observe_execution(
|
|
989
|
-
opentelemetry=self._instance.opentelemetry,
|
|
990
|
-
event_key=f"{DAGSTER_CLOUD_AGENT_METRIC_PREFIX}.schedule.evaluation",
|
|
991
|
-
short_description="schedule evaluation requests",
|
|
992
|
-
attributes=schedule_attributes,
|
|
993
|
-
result_evaluator_callback=inspect_schedule_result,
|
|
994
|
-
) as observer:
|
|
995
|
-
serialized_schedule_data_or_error = client.external_schedule_execution(
|
|
996
|
-
external_schedule_execution_args=args,
|
|
997
|
-
)
|
|
998
|
-
observer.evaluate_result(
|
|
999
|
-
serialized_data_or_error=serialized_schedule_data_or_error,
|
|
1000
|
-
)
|
|
1001
|
-
return DagsterCloudApiGrpcResponse(
|
|
1002
|
-
serialized_response_or_error=serialized_schedule_data_or_error
|
|
1003
|
-
)
|
|
979
|
+
serialized_schedule_data_or_error = client.external_schedule_execution(
|
|
980
|
+
external_schedule_execution_args=args,
|
|
981
|
+
)
|
|
982
|
+
return DagsterCloudApiGrpcResponse(
|
|
983
|
+
serialized_response_or_error=serialized_schedule_data_or_error
|
|
984
|
+
)
|
|
1004
985
|
|
|
1005
986
|
elif api_name == DagsterCloudApi.GET_EXTERNAL_SENSOR_EXECUTION_DATA:
|
|
1006
987
|
client = self._get_grpc_client(
|
|
1007
988
|
user_code_launcher, deployment_name, cast("str", location_name)
|
|
1008
989
|
)
|
|
1009
990
|
|
|
1010
|
-
args =
|
|
1011
|
-
|
|
991
|
+
args = replace(
|
|
992
|
+
request.request_args,
|
|
993
|
+
instance_ref=self._get_user_code_instance_ref(deployment_name),
|
|
1012
994
|
)
|
|
1013
995
|
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
with observe_execution(
|
|
1022
|
-
opentelemetry=self._instance.opentelemetry,
|
|
1023
|
-
event_key=f"{DAGSTER_CLOUD_AGENT_METRIC_PREFIX}.sensor.evaluation",
|
|
1024
|
-
short_description="sensor evaluation requests",
|
|
1025
|
-
attributes=sensor_attributes,
|
|
1026
|
-
result_evaluator_callback=inspect_sensor_result,
|
|
1027
|
-
) as observer:
|
|
1028
|
-
serialized_sensor_data_or_error = client.external_sensor_execution(
|
|
1029
|
-
sensor_execution_args=args,
|
|
1030
|
-
)
|
|
1031
|
-
observer.evaluate_result(serialized_sensor_data_or_error)
|
|
1032
|
-
return DagsterCloudApiGrpcResponse(
|
|
1033
|
-
serialized_response_or_error=serialized_sensor_data_or_error
|
|
1034
|
-
)
|
|
996
|
+
serialized_sensor_data_or_error = client.external_sensor_execution(
|
|
997
|
+
sensor_execution_args=args,
|
|
998
|
+
)
|
|
999
|
+
return DagsterCloudApiGrpcResponse(
|
|
1000
|
+
serialized_response_or_error=serialized_sensor_data_or_error
|
|
1001
|
+
)
|
|
1035
1002
|
elif api_name == DagsterCloudApi.GET_EXTERNAL_NOTEBOOK_DATA:
|
|
1036
1003
|
client = self._get_grpc_client(
|
|
1037
1004
|
user_code_launcher, deployment_name, cast("str", location_name)
|
|
@@ -1062,42 +1029,32 @@ class DagsterCloudAgent:
|
|
|
1062
1029
|
),
|
|
1063
1030
|
)
|
|
1064
1031
|
|
|
1065
|
-
|
|
1066
|
-
with observe_execution(
|
|
1067
|
-
opentelemetry=self._instance.opentelemetry,
|
|
1068
|
-
event_key=f"{DAGSTER_CLOUD_AGENT_METRIC_PREFIX}.run.launches",
|
|
1069
|
-
short_description="run execution requests",
|
|
1070
|
-
attributes=run_attributes,
|
|
1071
|
-
) as observer:
|
|
1072
|
-
launcher = scoped_instance.get_run_launcher_for_run(run) # type: ignore # (instance subclass)
|
|
1032
|
+
launcher = scoped_instance.get_run_launcher_for_run(run) # type: ignore # (instance subclass)
|
|
1073
1033
|
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1034
|
+
if is_isolated_run(run):
|
|
1035
|
+
launcher.launch_run(LaunchRunContext(dagster_run=run, workspace=None))
|
|
1036
|
+
else:
|
|
1037
|
+
scoped_instance.report_engine_event(
|
|
1038
|
+
f"Launching {run.run_id} without an isolated run environment.",
|
|
1039
|
+
run,
|
|
1040
|
+
cls=self.__class__,
|
|
1041
|
+
)
|
|
1082
1042
|
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1043
|
+
run_location_name = cast(
|
|
1044
|
+
"str",
|
|
1045
|
+
run.remote_job_origin.repository_origin.code_location_origin.location_name,
|
|
1046
|
+
)
|
|
1087
1047
|
|
|
1088
|
-
|
|
1089
|
-
deployment_name, run_location_name
|
|
1090
|
-
)
|
|
1048
|
+
server = user_code_launcher.get_grpc_server(deployment_name, run_location_name)
|
|
1091
1049
|
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1050
|
+
# Record the server handle that we launched it on to for run monitoring
|
|
1051
|
+
scoped_instance.add_run_tags(
|
|
1052
|
+
run.run_id, new_tags={SERVER_HANDLE_TAG: str(server.server_handle)}
|
|
1053
|
+
)
|
|
1096
1054
|
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
observer.evaluate_result(run=run)
|
|
1055
|
+
launcher.launch_run_from_grpc_client(
|
|
1056
|
+
scoped_instance, run, server.server_endpoint.create_client()
|
|
1057
|
+
)
|
|
1101
1058
|
|
|
1102
1059
|
return DagsterCloudApiSuccess()
|
|
1103
1060
|
elif api_name == DagsterCloudApi.TERMINATE_RUN:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import socket
|
|
3
3
|
import uuid
|
|
4
|
-
from collections.abc import
|
|
4
|
+
from collections.abc import Sequence
|
|
5
5
|
from contextlib import ExitStack
|
|
6
6
|
from functools import lru_cache
|
|
7
7
|
from typing import TYPE_CHECKING, Any, Optional, Union
|
|
@@ -34,11 +34,8 @@ from urllib3 import Retry
|
|
|
34
34
|
|
|
35
35
|
from dagster_cloud.agent import AgentQueuesConfig
|
|
36
36
|
from dagster_cloud.auth.constants import decode_agent_token
|
|
37
|
-
from dagster_cloud.opentelemetry.config import opentelemetry_config_schema
|
|
38
|
-
from dagster_cloud.opentelemetry.controller import OpenTelemetryController
|
|
39
37
|
from dagster_cloud.storage.client import dagster_cloud_api_config
|
|
40
38
|
from dagster_cloud.util import get_env_names_from_config, is_isolated_run
|
|
41
|
-
from dagster_cloud.version import __version__
|
|
42
39
|
|
|
43
40
|
if TYPE_CHECKING:
|
|
44
41
|
from requests import Session
|
|
@@ -83,7 +80,6 @@ class DagsterCloudAgentInstance(DagsterCloudInstance):
|
|
|
83
80
|
allowed_full_deployment_locations=None,
|
|
84
81
|
allowed_branch_deployment_locations=None,
|
|
85
82
|
agent_metrics=None,
|
|
86
|
-
opentelemetry=None,
|
|
87
83
|
**kwargs,
|
|
88
84
|
):
|
|
89
85
|
super().__init__(*args, **kwargs)
|
|
@@ -155,12 +151,6 @@ class DagsterCloudAgentInstance(DagsterCloudInstance):
|
|
|
155
151
|
allowed_branch_deployment_locations
|
|
156
152
|
)
|
|
157
153
|
|
|
158
|
-
self._opentelemetry_config: Optional[Mapping[str, Any]] = self._get_processed_config(
|
|
159
|
-
"opentelemetry", opentelemetry, opentelemetry_config_schema()
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
self._opentelemetry_controller: Optional[OpenTelemetryController] = None
|
|
163
|
-
|
|
164
154
|
self._instance_uuid = str(uuid.uuid4())
|
|
165
155
|
|
|
166
156
|
@property
|
|
@@ -582,9 +572,6 @@ instance_class:
|
|
|
582
572
|
is_required=False,
|
|
583
573
|
description="List of allowed location names for branch deployments",
|
|
584
574
|
),
|
|
585
|
-
"opentelemetry": Field(
|
|
586
|
-
opentelemetry_config_schema(), is_required=False, default_value={"enabled": False}
|
|
587
|
-
),
|
|
588
575
|
}
|
|
589
576
|
|
|
590
577
|
@classmethod
|
|
@@ -667,9 +654,6 @@ instance_class:
|
|
|
667
654
|
|
|
668
655
|
def dispose(self) -> None:
|
|
669
656
|
super().dispose()
|
|
670
|
-
if self._opentelemetry_controller:
|
|
671
|
-
self._opentelemetry_controller.dispose()
|
|
672
|
-
self._opentelemetry_controller = None
|
|
673
657
|
self._exit_stack.close()
|
|
674
658
|
|
|
675
659
|
@property
|
|
@@ -690,17 +674,6 @@ instance_class:
|
|
|
690
674
|
# potentially overridden interval in the serverless user code launcher
|
|
691
675
|
return 30
|
|
692
676
|
|
|
693
|
-
@property
|
|
694
|
-
def opentelemetry(self) -> OpenTelemetryController:
|
|
695
|
-
if not self._opentelemetry_controller:
|
|
696
|
-
self._opentelemetry_controller = OpenTelemetryController(
|
|
697
|
-
instance_id=self.instance_uuid,
|
|
698
|
-
version=__version__,
|
|
699
|
-
config=self._opentelemetry_config,
|
|
700
|
-
)
|
|
701
|
-
|
|
702
|
-
return self._opentelemetry_controller
|
|
703
|
-
|
|
704
677
|
|
|
705
678
|
@lru_cache(maxsize=100) # Scales on order of active branch deployments
|
|
706
679
|
def _cached_inject_deployment(
|
|
@@ -16,7 +16,7 @@ from dagster._utils.error import SerializableErrorInfo, serializable_error_info_
|
|
|
16
16
|
from dagster_cloud_cli.core.workspace import CodeLocationDeployData, PexMetadata
|
|
17
17
|
from dagster_shared import seven
|
|
18
18
|
from dagster_shared.ipc import open_ipc_subprocess
|
|
19
|
-
from pydantic import BaseModel
|
|
19
|
+
from pydantic import BaseModel
|
|
20
20
|
|
|
21
21
|
from dagster_cloud.pex.grpc.server.registry import PexS3Registry
|
|
22
22
|
from dagster_cloud.pex.grpc.types import PexServerHandle
|
|
@@ -25,7 +25,7 @@ from dagster_cloud.workspace.user_code_launcher.utils import get_grpc_server_env
|
|
|
25
25
|
logger = logging.getLogger("dagster.multipex")
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
class PexProcessEntry(BaseModel, frozen=True, extra=
|
|
28
|
+
class PexProcessEntry(BaseModel, frozen=True, extra="forbid", arbitrary_types_allowed=True):
|
|
29
29
|
pex_server_handle: PexServerHandle
|
|
30
30
|
grpc_server_process: subprocess.Popen
|
|
31
31
|
grpc_client: DagsterGrpcClient
|
|
@@ -33,7 +33,7 @@ class PexProcessEntry(BaseModel, frozen=True, extra=Extra.forbid, arbitrary_type
|
|
|
33
33
|
heartbeat_thread: threading.Thread
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
class PexErrorEntry(BaseModel, frozen=True, extra=
|
|
36
|
+
class PexErrorEntry(BaseModel, frozen=True, extra="forbid", arbitrary_types_allowed=True):
|
|
37
37
|
pex_server_handle: PexServerHandle
|
|
38
38
|
error: SerializableErrorInfo
|
|
39
39
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.12.12"
|
|
@@ -40,6 +40,7 @@ from dagster_cloud.workspace.user_code_launcher import (
|
|
|
40
40
|
from dagster_cloud.workspace.user_code_launcher.user_code_launcher import UserCodeLauncherEntry
|
|
41
41
|
from dagster_cloud.workspace.user_code_launcher.utils import (
|
|
42
42
|
deterministic_label_for_location,
|
|
43
|
+
get_code_server_port,
|
|
43
44
|
get_grpc_server_env,
|
|
44
45
|
)
|
|
45
46
|
|
|
@@ -293,7 +294,7 @@ class DockerUserCodeLauncher(
|
|
|
293
294
|
|
|
294
295
|
has_network = len(self._networks) > 0
|
|
295
296
|
if has_network:
|
|
296
|
-
grpc_port =
|
|
297
|
+
grpc_port = get_code_server_port()
|
|
297
298
|
hostname = container_name
|
|
298
299
|
else:
|
|
299
300
|
grpc_port = find_free_port()
|
|
@@ -17,7 +17,7 @@ from dagster_aws.ecs.utils import is_transient_task_stopped_reason, task_definit
|
|
|
17
17
|
|
|
18
18
|
from dagster_cloud.workspace.ecs.service import Service
|
|
19
19
|
|
|
20
|
-
DEFAULT_ECS_TIMEOUT =
|
|
20
|
+
DEFAULT_ECS_TIMEOUT = 600
|
|
21
21
|
DEFAULT_ECS_GRACE_PERIOD = 30
|
|
22
22
|
|
|
23
23
|
STOPPED_TASK_GRACE_PERIOD = 30
|
|
@@ -53,13 +53,13 @@ from dagster_cloud.workspace.user_code_launcher.user_code_launcher import (
|
|
|
53
53
|
)
|
|
54
54
|
from dagster_cloud.workspace.user_code_launcher.utils import (
|
|
55
55
|
deterministic_label_for_location,
|
|
56
|
+
get_code_server_port,
|
|
56
57
|
get_grpc_server_env,
|
|
57
58
|
)
|
|
58
59
|
|
|
59
60
|
EcsServerHandleType = Service
|
|
60
61
|
|
|
61
62
|
CONTAINER_NAME = "dagster"
|
|
62
|
-
PORT = 4000
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
class EcsUserCodeLauncher(DagsterCloudUserCodeLauncher[EcsServerHandleType], ConfigurableClass):
|
|
@@ -405,7 +405,8 @@ class EcsUserCodeLauncher(DagsterCloudUserCodeLauncher[EcsServerHandleType], Con
|
|
|
405
405
|
|
|
406
406
|
if metadata.pex_metadata:
|
|
407
407
|
command = metadata.get_multipex_server_command(
|
|
408
|
-
|
|
408
|
+
get_code_server_port(),
|
|
409
|
+
metrics_enabled=self._instance.user_code_launcher.code_server_metrics_enabled,
|
|
409
410
|
)
|
|
410
411
|
additional_env = metadata.get_multipex_server_env()
|
|
411
412
|
tags = {
|
|
@@ -418,7 +419,10 @@ class EcsUserCodeLauncher(DagsterCloudUserCodeLauncher[EcsServerHandleType], Con
|
|
|
418
419
|
metrics_enabled=self._instance.user_code_launcher.code_server_metrics_enabled
|
|
419
420
|
)
|
|
420
421
|
additional_env = get_grpc_server_env(
|
|
421
|
-
metadata,
|
|
422
|
+
metadata,
|
|
423
|
+
get_code_server_port(),
|
|
424
|
+
location_name,
|
|
425
|
+
self._instance.ref_for_deployment(deployment_name),
|
|
422
426
|
)
|
|
423
427
|
tags = {
|
|
424
428
|
"dagster/grpc_server": "1",
|
|
@@ -524,7 +528,7 @@ class EcsUserCodeLauncher(DagsterCloudUserCodeLauncher[EcsServerHandleType], Con
|
|
|
524
528
|
|
|
525
529
|
endpoint = ServerEndpoint(
|
|
526
530
|
host=service.hostname,
|
|
527
|
-
port=
|
|
531
|
+
port=get_code_server_port(),
|
|
528
532
|
socket=None,
|
|
529
533
|
)
|
|
530
534
|
|
{dagster_cloud-1.12.10 → dagster_cloud-1.12.12}/dagster_cloud/workspace/kubernetes/launcher.py
RENAMED
|
@@ -34,7 +34,6 @@ from dagster_cloud.constants import RESERVED_ENV_VAR_NAMES
|
|
|
34
34
|
from dagster_cloud.execution.cloud_run_launcher.k8s import CloudK8sRunLauncher
|
|
35
35
|
from dagster_cloud.execution.monitoring import CloudContainerResourceLimits
|
|
36
36
|
from dagster_cloud.workspace.kubernetes.utils import (
|
|
37
|
-
SERVICE_PORT,
|
|
38
37
|
construct_code_location_deployment,
|
|
39
38
|
construct_code_location_service,
|
|
40
39
|
get_deployment_failure_debug_info,
|
|
@@ -49,7 +48,10 @@ from dagster_cloud.workspace.user_code_launcher import (
|
|
|
49
48
|
ServerEndpoint,
|
|
50
49
|
UserCodeLauncherEntry,
|
|
51
50
|
)
|
|
52
|
-
from dagster_cloud.workspace.user_code_launcher.utils import
|
|
51
|
+
from dagster_cloud.workspace.user_code_launcher.utils import (
|
|
52
|
+
deterministic_label_for_location,
|
|
53
|
+
get_code_server_port,
|
|
54
|
+
)
|
|
53
55
|
|
|
54
56
|
DEFAULT_DEPLOYMENT_STARTUP_TIMEOUT = 300
|
|
55
57
|
DEFAULT_IMAGE_PULL_GRACE_PERIOD = 30
|
|
@@ -506,7 +508,7 @@ class K8sUserCodeLauncher(DagsterCloudUserCodeLauncher[K8sHandle], ConfigurableC
|
|
|
506
508
|
|
|
507
509
|
endpoint = ServerEndpoint(
|
|
508
510
|
host=host,
|
|
509
|
-
port=
|
|
511
|
+
port=get_code_server_port(),
|
|
510
512
|
socket=None,
|
|
511
513
|
)
|
|
512
514
|
|
|
@@ -13,13 +13,13 @@ from kubernetes import client
|
|
|
13
13
|
from dagster_cloud.instance import DagsterCloudAgentInstance
|
|
14
14
|
from dagster_cloud.workspace.user_code_launcher.utils import (
|
|
15
15
|
deterministic_label_for_location,
|
|
16
|
+
get_code_server_port,
|
|
16
17
|
get_grpc_server_env,
|
|
17
18
|
get_human_readable_label,
|
|
18
19
|
unique_resource_name,
|
|
19
20
|
)
|
|
20
21
|
|
|
21
22
|
MANAGED_RESOURCES_LABEL = {"managed_by": "K8sUserCodeLauncher"}
|
|
22
|
-
SERVICE_PORT = 4000
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def _get_dagster_k8s_labels(
|
|
@@ -106,7 +106,7 @@ def construct_code_location_service(
|
|
|
106
106
|
},
|
|
107
107
|
"spec": {
|
|
108
108
|
"selector": {"user-deployment": service_name},
|
|
109
|
-
"ports": [{"name": "grpc", "protocol": "TCP", "port":
|
|
109
|
+
"ports": [{"name": "grpc", "protocol": "TCP", "port": get_code_server_port()}],
|
|
110
110
|
},
|
|
111
111
|
},
|
|
112
112
|
)
|
|
@@ -123,7 +123,10 @@ def construct_code_location_deployment(
|
|
|
123
123
|
server_timestamp: float,
|
|
124
124
|
):
|
|
125
125
|
env = get_grpc_server_env(
|
|
126
|
-
metadata,
|
|
126
|
+
metadata,
|
|
127
|
+
get_code_server_port(),
|
|
128
|
+
location_name,
|
|
129
|
+
instance.ref_for_deployment(deployment_name),
|
|
127
130
|
)
|
|
128
131
|
|
|
129
132
|
user_defined_config = container_context.server_k8s_config
|