mage-ai 0.8.36__py3-none-any.whl → 0.8.38__py3-none-any.whl
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 mage-ai might be problematic. Click here for more details.
- mage_ai/api/logging.py +2 -2
- mage_ai/api/resources/PipelineRunResource.py +6 -3
- mage_ai/data_integrations/sources/constants.py +1 -0
- mage_ai/data_preparation/models/block/dbt/__init__.py +20 -0
- mage_ai/data_preparation/models/block/dbt/utils/__init__.py +4 -1
- mage_ai/data_preparation/models/block/sql/utils/shared.py +4 -4
- mage_ai/data_preparation/models/block/utils.py +2 -1
- mage_ai/data_preparation/models/pipeline.py +18 -3
- mage_ai/orchestration/pipeline_scheduler.py +37 -27
- mage_ai/server/active_kernel.py +6 -3
- mage_ai/server/api/clusters.py +4 -1
- mage_ai/server/api/integration_sources.py +5 -2
- mage_ai/server/client/mage.py +2 -2
- mage_ai/server/constants.py +1 -1
- mage_ai/server/data/base.py +2 -2
- mage_ai/server/data/models.py +2 -2
- mage_ai/server/execution_manager.py +4 -1
- mage_ai/server/frontend_dist/404.html +2 -2
- mage_ai/server/frontend_dist/404.html.html +2 -2
- mage_ai/server/frontend_dist/_next/static/{Jr2a8psREhSP9ee5P4ILJ → R_cV5sAcMT3qDXIKAGGPe}/_buildManifest.js +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{2626-905774aafeb2c600.js → 2626-e7fa4f83f8214c97.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/4178-9103014b7dae3c49.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{4538-8a3c3e47be976ede.js → 4538-347283088b83c6bf.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{5477-793cd2120261d023.js → 5477-b439f211b6146a11.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{5872-103815a4a043489b.js → 5872-1767c45ee6690ae5.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{5896-f84e336fb8877027.js → 5896-10a676bcc86978cc.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{7400-365cb7888b6db7d9.js → 7400-f4db9b5d41f67f75.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{9386-fb899ca8ecc2a350.js → 9386-d4cc11bab74eec8d.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{9832-c8b8970bb522f302.js → 9832-f97919376d52e3bf.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{manage-9e5f315db570ac77.js → manage-3046bc53d24917c7.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{pipeline-runs-79e10a783afec3df.js → pipeline-runs-e64ba4e8b2bfe73c.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-6d04570af5494767.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{syncs-1767a2f57f887ef7.js → syncs-e1271453ed0c8d6e.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{pipelines-52c3ee3817e5554b.js → pipelines-7446a70bdd8381a5.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/{preferences-a23b61bab04a16f3.js → preferences-997acba85f777259.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/{sync-data-de28e502102defde.js → sync-data-8c903140c99e487c.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{terminal-9c21edae8f1b6737.js → terminal-4c9ad80f8f9d1074.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{triggers-8a2169d30b643ae7.js → triggers-783b9526167f1249.js} +1 -1
- mage_ai/server/frontend_dist/index.html +2 -2
- mage_ai/server/frontend_dist/manage.html +4 -4
- mage_ai/server/frontend_dist/pipeline-runs.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills/[...slug].html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/edit.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/logs.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runs.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runtime.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs/[run].html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/syncs.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers/[...slug].html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers.html +5 -5
- mage_ai/server/frontend_dist/pipelines/[pipeline].html +2 -2
- mage_ai/server/frontend_dist/pipelines.html +5 -5
- mage_ai/server/frontend_dist/settings/account/profile.html +5 -5
- mage_ai/server/frontend_dist/settings/workspace/preferences.html +5 -5
- mage_ai/server/frontend_dist/settings/workspace/sync-data.html +5 -5
- mage_ai/server/frontend_dist/settings/workspace/users.html +5 -5
- mage_ai/server/frontend_dist/settings.html +2 -2
- mage_ai/server/frontend_dist/sign-in.html +10 -10
- mage_ai/server/frontend_dist/terminal.html +5 -5
- mage_ai/server/frontend_dist/test.html +3 -3
- mage_ai/server/frontend_dist/triggers.html +5 -5
- mage_ai/server/logger.py +16 -0
- mage_ai/server/scheduler_manager.py +8 -4
- mage_ai/server/server.py +5 -0
- mage_ai/server/subscriber.py +6 -3
- mage_ai/server/utils/frontend_renderer.py +3 -2
- mage_ai/server/utils/output_display.py +1 -1
- mage_ai/server/websocket_server.py +4 -1
- mage_ai/settings/__init__.py +2 -0
- mage_ai/shared/logger.py +4 -0
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/METADATA +1 -1
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/RECORD +81 -80
- mage_ai/server/frontend_dist/_next/static/chunks/4178-e17f37d21253b832.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-6a52671f1853e1a5.js +0 -1
- /mage_ai/server/frontend_dist/_next/static/{Jr2a8psREhSP9ee5P4ILJ → R_cV5sAcMT3qDXIKAGGPe}/_middlewareManifest.js +0 -0
- /mage_ai/server/frontend_dist/_next/static/{Jr2a8psREhSP9ee5P4ILJ → R_cV5sAcMT3qDXIKAGGPe}/_ssgManifest.js +0 -0
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/LICENSE +0 -0
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/WHEEL +0 -0
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/entry_points.txt +0 -0
- {mage_ai-0.8.36.dist-info → mage_ai-0.8.38.dist-info}/top_level.txt +0 -0
mage_ai/api/logging.py
CHANGED
|
@@ -6,7 +6,7 @@ from mage_ai.data_preparation.models.constants import PipelineType
|
|
|
6
6
|
from mage_ai.data_preparation.models.pipeline import Pipeline
|
|
7
7
|
from mage_ai.orchestration.db import safe_db_query
|
|
8
8
|
from mage_ai.orchestration.db.models.schedules import BlockRun, PipelineRun
|
|
9
|
-
from mage_ai.orchestration.pipeline_scheduler import get_variables
|
|
9
|
+
from mage_ai.orchestration.pipeline_scheduler import get_variables, stop_pipeline_run
|
|
10
10
|
from sqlalchemy.orm import selectinload
|
|
11
11
|
|
|
12
12
|
|
|
@@ -219,8 +219,11 @@ class PipelineRunResource(DatabaseResource):
|
|
|
219
219
|
|
|
220
220
|
return super().update(dict(status=PipelineRun.PipelineRunStatus.RUNNING))
|
|
221
221
|
elif PipelineRun.PipelineRunStatus.CANCELLED == payload.get('status'):
|
|
222
|
-
|
|
222
|
+
pipeline = Pipeline.get(
|
|
223
|
+
self.model.pipeline_uuid,
|
|
224
|
+
check_if_exists=True,
|
|
225
|
+
)
|
|
223
226
|
|
|
224
|
-
|
|
227
|
+
stop_pipeline_run(self.model, pipeline)
|
|
225
228
|
|
|
226
229
|
return self
|
|
@@ -4,6 +4,7 @@ from mage_ai.data_preparation.models.block.dbt.utils import (
|
|
|
4
4
|
create_upstream_tables,
|
|
5
5
|
fetch_model_data,
|
|
6
6
|
load_profiles_async,
|
|
7
|
+
load_profiles_file,
|
|
7
8
|
parse_attributes,
|
|
8
9
|
query_from_compiled_sql,
|
|
9
10
|
run_dbt_tests,
|
|
@@ -15,7 +16,9 @@ from mage_ai.shared.hash import merge_dict
|
|
|
15
16
|
from typing import Any, Dict, List
|
|
16
17
|
import json
|
|
17
18
|
import os
|
|
19
|
+
import shutil
|
|
18
20
|
import subprocess
|
|
21
|
+
import yaml
|
|
19
22
|
|
|
20
23
|
|
|
21
24
|
class DBTBlock(Block):
|
|
@@ -120,8 +123,20 @@ class DBTBlock(Block):
|
|
|
120
123
|
test_execution=test_execution,
|
|
121
124
|
)
|
|
122
125
|
project_full_path = command_line_dict['project_full_path']
|
|
126
|
+
profiles_dir = command_line_dict['profiles_dir']
|
|
123
127
|
dbt_profile_target = command_line_dict['profile_target']
|
|
124
128
|
|
|
129
|
+
# Create a temporary profiles file with variables and secrets interpolated
|
|
130
|
+
attributes_dict = parse_attributes(self)
|
|
131
|
+
profiles_full_path = attributes_dict['profiles_full_path']
|
|
132
|
+
profile = load_profiles_file(profiles_full_path)
|
|
133
|
+
|
|
134
|
+
temp_profile_full_path = f'{profiles_dir}/profiles.yml'
|
|
135
|
+
os.makedirs(os.path.dirname(temp_profile_full_path), exist_ok=True)
|
|
136
|
+
|
|
137
|
+
with open(temp_profile_full_path, 'w') as f:
|
|
138
|
+
yaml.safe_dump(profile, f)
|
|
139
|
+
|
|
125
140
|
is_sql = BlockLanguage.SQL == self.language
|
|
126
141
|
if is_sql:
|
|
127
142
|
create_upstream_tables(
|
|
@@ -214,4 +229,9 @@ class DBTBlock(Block):
|
|
|
214
229
|
)
|
|
215
230
|
outputs = [df]
|
|
216
231
|
|
|
232
|
+
try:
|
|
233
|
+
shutil.rmtree(profiles_dir)
|
|
234
|
+
except Exception as err:
|
|
235
|
+
print(f'Error removing temporary profile at {temp_profile_full_path}: {err}')
|
|
236
|
+
|
|
217
237
|
return outputs
|
|
@@ -912,11 +912,13 @@ def build_command_line_arguments(
|
|
|
912
912
|
project_full_path = f'{get_repo_path()}/dbt/{project_name}'
|
|
913
913
|
args += block.content.split(' ')
|
|
914
914
|
|
|
915
|
+
profiles_dir = f'{project_full_path}/.mage_temp_profiles'
|
|
916
|
+
|
|
915
917
|
args += [
|
|
916
918
|
'--project-dir',
|
|
917
919
|
project_full_path,
|
|
918
920
|
'--profiles-dir',
|
|
919
|
-
|
|
921
|
+
profiles_dir,
|
|
920
922
|
]
|
|
921
923
|
|
|
922
924
|
dbt_profile_target = block.configuration.get('dbt_profile_target') \
|
|
@@ -934,6 +936,7 @@ def build_command_line_arguments(
|
|
|
934
936
|
|
|
935
937
|
return dbt_command, args, dict(
|
|
936
938
|
profile_target=dbt_profile_target,
|
|
939
|
+
profiles_dir=profiles_dir,
|
|
937
940
|
project_full_path=project_full_path,
|
|
938
941
|
)
|
|
939
942
|
|
|
@@ -22,9 +22,6 @@ def should_cache_data_from_upstream(
|
|
|
22
22
|
# TODO (tommy dang): check to see if the upstream block has the same data source
|
|
23
23
|
return True
|
|
24
24
|
|
|
25
|
-
if BlockLanguage.SQL == block.language and BlockLanguage.SQL != upstream_block.language:
|
|
26
|
-
return True
|
|
27
|
-
|
|
28
25
|
config_path = path.join(get_repo_path(), 'io_config.yaml')
|
|
29
26
|
|
|
30
27
|
config1 = block.configuration or {}
|
|
@@ -36,6 +33,9 @@ def should_cache_data_from_upstream(
|
|
|
36
33
|
if config1.get('use_raw_sql'):
|
|
37
34
|
return False
|
|
38
35
|
|
|
36
|
+
if BlockLanguage.SQL == block.language and BlockLanguage.SQL != upstream_block.language:
|
|
37
|
+
return True
|
|
38
|
+
|
|
39
39
|
loader1 = ConfigFileLoader(config_path, data_provider1)
|
|
40
40
|
loader2 = ConfigFileLoader(config_path, data_provider2)
|
|
41
41
|
|
|
@@ -65,7 +65,7 @@ def interpolate_input(block, query, replace_func=None):
|
|
|
65
65
|
is_same_data_providers = data_provider1 == data_provider2
|
|
66
66
|
|
|
67
67
|
if block.configuration.get('use_raw_sql'):
|
|
68
|
-
if data_provider1 != data_provider2:
|
|
68
|
+
if is_sql and data_provider1 != data_provider2:
|
|
69
69
|
raise Exception(
|
|
70
70
|
f'Variable interpolation when using raw SQL for {matcher1} '
|
|
71
71
|
'is not supported because '
|
|
@@ -402,7 +402,8 @@ def fetch_input_variables(
|
|
|
402
402
|
# output_0 is the metadata for dynamic blocks
|
|
403
403
|
if dynamic_block_index is not None and \
|
|
404
404
|
upstream_is_dynamic and \
|
|
405
|
-
len(variables) >=
|
|
405
|
+
len(variables) >= 2:
|
|
406
|
+
|
|
406
407
|
var = variables[1]
|
|
407
408
|
variable_values = pipeline.variable_manager.get_variable(
|
|
408
409
|
pipeline.uuid,
|
|
@@ -17,6 +17,7 @@ from mage_ai.data_preparation.repo_manager import RepoConfig, get_repo_config, g
|
|
|
17
17
|
from mage_ai.data_preparation.templates.utils import copy_template_directory
|
|
18
18
|
from mage_ai.data_preparation.variable_manager import VariableManager
|
|
19
19
|
from mage_ai.orchestration.db import db_connection, safe_db_query
|
|
20
|
+
from mage_ai.shared.array import find
|
|
20
21
|
from mage_ai.shared.hash import extract, ignore_keys, merge_dict
|
|
21
22
|
from mage_ai.shared.io import safe_write, safe_write_async
|
|
22
23
|
from mage_ai.shared.strings import format_enum
|
|
@@ -179,10 +180,19 @@ class Pipeline:
|
|
|
179
180
|
)
|
|
180
181
|
|
|
181
182
|
@classmethod
|
|
182
|
-
def get(self, uuid, repo_path: str = None):
|
|
183
|
+
def get(self, uuid, repo_path: str = None, check_if_exists: bool = False):
|
|
183
184
|
from mage_ai.data_preparation.models.pipelines.integration_pipeline \
|
|
184
185
|
import IntegrationPipeline
|
|
185
186
|
|
|
187
|
+
if check_if_exists and not os.path.exists(
|
|
188
|
+
os.path.join(
|
|
189
|
+
repo_path or get_repo_path(),
|
|
190
|
+
PIPELINES_FOLDER,
|
|
191
|
+
uuid,
|
|
192
|
+
),
|
|
193
|
+
):
|
|
194
|
+
return None
|
|
195
|
+
|
|
186
196
|
pipeline = self(uuid, repo_path=repo_path)
|
|
187
197
|
if PipelineType.INTEGRATION == pipeline.type:
|
|
188
198
|
pipeline = IntegrationPipeline(uuid, repo_path=repo_path)
|
|
@@ -908,7 +918,9 @@ class Pipeline:
|
|
|
908
918
|
widget=False,
|
|
909
919
|
)
|
|
910
920
|
for b in upstream_blocks_added:
|
|
911
|
-
b.downstream_blocks
|
|
921
|
+
if not find(lambda x: x.uuid == block.uuid, b.downstream_blocks):
|
|
922
|
+
b.downstream_blocks.append(block)
|
|
923
|
+
|
|
912
924
|
for b in upstream_blocks_removed:
|
|
913
925
|
b.downstream_blocks = [
|
|
914
926
|
db for db in b.downstream_blocks if db.uuid != block.uuid
|
|
@@ -1132,7 +1144,10 @@ class Pipeline:
|
|
|
1132
1144
|
except yaml.scanner.ScannerError:
|
|
1133
1145
|
success = False
|
|
1134
1146
|
|
|
1135
|
-
|
|
1147
|
+
try:
|
|
1148
|
+
os.remove(test_path)
|
|
1149
|
+
except Exception as err:
|
|
1150
|
+
print(err)
|
|
1136
1151
|
|
|
1137
1152
|
if not success:
|
|
1138
1153
|
raise Exception('Invalid pipeline metadata.yaml content, please try saving again.')
|
|
@@ -81,35 +81,11 @@ class PipelineScheduler:
|
|
|
81
81
|
self.schedule()
|
|
82
82
|
|
|
83
83
|
def stop(self) -> None:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
self.pipeline_run.update(status=PipelineRun.PipelineRunStatus.CANCELLED)
|
|
89
|
-
|
|
90
|
-
# Cancel all the block runs
|
|
91
|
-
block_runs_to_cancel = []
|
|
92
|
-
running_blocks = []
|
|
93
|
-
for b in self.pipeline_run.block_runs:
|
|
94
|
-
if b.status in [
|
|
95
|
-
BlockRun.BlockRunStatus.INITIAL,
|
|
96
|
-
BlockRun.BlockRunStatus.QUEUED,
|
|
97
|
-
BlockRun.BlockRunStatus.RUNNING,
|
|
98
|
-
]:
|
|
99
|
-
block_runs_to_cancel.append(b)
|
|
100
|
-
if b.status == BlockRun.BlockRunStatus.RUNNING:
|
|
101
|
-
running_blocks.append(b)
|
|
102
|
-
BlockRun.batch_update_status(
|
|
103
|
-
[b.id for b in block_runs_to_cancel],
|
|
104
|
-
BlockRun.BlockRunStatus.CANCELLED,
|
|
84
|
+
stop_pipeline_run(
|
|
85
|
+
self.pipeline_run,
|
|
86
|
+
self.pipeline,
|
|
105
87
|
)
|
|
106
88
|
|
|
107
|
-
if self.pipeline.type in [PipelineType.INTEGRATION, PipelineType.STREAMING]:
|
|
108
|
-
job_manager.kill_pipeline_run_job(self.pipeline_run.id)
|
|
109
|
-
else:
|
|
110
|
-
for b in running_blocks:
|
|
111
|
-
job_manager.kill_block_run_job(b.id)
|
|
112
|
-
|
|
113
89
|
def schedule(self, block_runs: List[BlockRun] = None) -> None:
|
|
114
90
|
self.__run_heartbeat()
|
|
115
91
|
|
|
@@ -806,6 +782,40 @@ def run_pipeline(pipeline_run_id, variables, tags):
|
|
|
806
782
|
)
|
|
807
783
|
|
|
808
784
|
|
|
785
|
+
def stop_pipeline_run(
|
|
786
|
+
pipeline_run: PipelineRun,
|
|
787
|
+
pipeline: Pipeline = None,
|
|
788
|
+
) -> None:
|
|
789
|
+
if pipeline_run.status not in [PipelineRun.PipelineRunStatus.INITIAL,
|
|
790
|
+
PipelineRun.PipelineRunStatus.RUNNING]:
|
|
791
|
+
return
|
|
792
|
+
|
|
793
|
+
pipeline_run.update(status=PipelineRun.PipelineRunStatus.CANCELLED)
|
|
794
|
+
|
|
795
|
+
# Cancel all the block runs
|
|
796
|
+
block_runs_to_cancel = []
|
|
797
|
+
running_blocks = []
|
|
798
|
+
for b in pipeline_run.block_runs:
|
|
799
|
+
if b.status in [
|
|
800
|
+
BlockRun.BlockRunStatus.INITIAL,
|
|
801
|
+
BlockRun.BlockRunStatus.QUEUED,
|
|
802
|
+
BlockRun.BlockRunStatus.RUNNING,
|
|
803
|
+
]:
|
|
804
|
+
block_runs_to_cancel.append(b)
|
|
805
|
+
if b.status == BlockRun.BlockRunStatus.RUNNING:
|
|
806
|
+
running_blocks.append(b)
|
|
807
|
+
BlockRun.batch_update_status(
|
|
808
|
+
[b.id for b in block_runs_to_cancel],
|
|
809
|
+
BlockRun.BlockRunStatus.CANCELLED,
|
|
810
|
+
)
|
|
811
|
+
|
|
812
|
+
if pipeline and pipeline.type in [PipelineType.INTEGRATION, PipelineType.STREAMING]:
|
|
813
|
+
job_manager.kill_pipeline_run_job(pipeline_run.id)
|
|
814
|
+
else:
|
|
815
|
+
for b in running_blocks:
|
|
816
|
+
job_manager.kill_block_run_job(b.id)
|
|
817
|
+
|
|
818
|
+
|
|
809
819
|
def check_sla():
|
|
810
820
|
repo_pipelines = set(Pipeline.get_all_pipelines(get_repo_path()))
|
|
811
821
|
pipeline_schedules = \
|
mage_ai/server/active_kernel.py
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
from jupyter_client import KernelClient, KernelManager
|
|
2
2
|
from jupyter_client.kernelspec import NoSuchKernel
|
|
3
3
|
from mage_ai.server.kernels import DEFAULT_KERNEL_NAME, KernelName, kernel_managers
|
|
4
|
+
from mage_ai.server.logger import Logger
|
|
5
|
+
|
|
6
|
+
logger = Logger().new_server_logger(__name__)
|
|
4
7
|
|
|
5
8
|
|
|
6
9
|
class ActiveKernel():
|
|
@@ -13,14 +16,14 @@ active_kernel = ActiveKernel()
|
|
|
13
16
|
|
|
14
17
|
|
|
15
18
|
def switch_active_kernel(kernel_name: KernelName) -> None:
|
|
16
|
-
|
|
19
|
+
logger.info(f'Switch active kernel: {kernel_name}')
|
|
17
20
|
if kernel_managers[kernel_name].is_alive():
|
|
18
|
-
|
|
21
|
+
logger.info(f'Kernel {kernel_name} is already alive.')
|
|
19
22
|
return
|
|
20
23
|
|
|
21
24
|
for kernel in kernel_managers.values():
|
|
22
25
|
if kernel.is_alive():
|
|
23
|
-
|
|
26
|
+
logger.info(f'Shut down current kernel {kernel}.')
|
|
24
27
|
kernel.request_shutdown()
|
|
25
28
|
|
|
26
29
|
try:
|
mage_ai/server/api/clusters.py
CHANGED
|
@@ -10,9 +10,12 @@ from mage_ai.cluster_manager.constants import (
|
|
|
10
10
|
KUBE_NAMESPACE,
|
|
11
11
|
KUBE_STORAGE_CLASS_NAME
|
|
12
12
|
)
|
|
13
|
+
from mage_ai.server.logger import Logger
|
|
13
14
|
import os
|
|
14
15
|
import yaml
|
|
15
16
|
|
|
17
|
+
logger = Logger().new_server_logger(__name__)
|
|
18
|
+
|
|
16
19
|
|
|
17
20
|
class ClusterType(str, Enum):
|
|
18
21
|
EMR = 'emr'
|
|
@@ -32,7 +35,7 @@ class ApiInstancesHandler(BaseHandler):
|
|
|
32
35
|
ecs_instance_manager = EcsTaskManager(cluster_name)
|
|
33
36
|
instances = ecs_instance_manager.list_tasks()
|
|
34
37
|
except Exception as e:
|
|
35
|
-
|
|
38
|
+
logger.error(str(e))
|
|
36
39
|
instances = list()
|
|
37
40
|
elif cluster_type == ClusterType.CLOUD_RUN:
|
|
38
41
|
from mage_ai.cluster_manager.gcp.cloud_run_service_manager import CloudRunServiceManager
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
from mage_ai.data_preparation.models.block import PYTHON_COMMAND
|
|
2
|
+
from mage_ai.server.logger import Logger
|
|
2
3
|
from typing import List, Dict
|
|
3
4
|
import importlib
|
|
4
5
|
import json
|
|
5
6
|
import subprocess
|
|
6
7
|
import traceback
|
|
7
8
|
|
|
9
|
+
logger = Logger().new_server_logger(__name__)
|
|
10
|
+
|
|
8
11
|
|
|
9
12
|
def get_collection(key: str, available_options: List[Dict]):
|
|
10
13
|
collection = []
|
|
@@ -38,8 +41,8 @@ def get_collection(key: str, available_options: List[Dict]):
|
|
|
38
41
|
except Exception:
|
|
39
42
|
pass
|
|
40
43
|
except Exception as err:
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
logger.error(f"Failed to load source {d['uuid']}: {err}")
|
|
45
|
+
logger.error(traceback.format_exc())
|
|
43
46
|
continue
|
|
44
47
|
|
|
45
48
|
collection.append(d)
|
mage_ai/server/client/mage.py
CHANGED
mage_ai/server/constants.py
CHANGED
mage_ai/server/data/base.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from mage_ai.shared.parsers import encode_complex
|
|
2
|
+
from mage_ai.server.logger import Logger
|
|
2
3
|
import json
|
|
3
|
-
import logging
|
|
4
4
|
import os
|
|
5
5
|
import os.path
|
|
6
6
|
import pandas as pd
|
|
@@ -9,7 +9,7 @@ import simplejson
|
|
|
9
9
|
# This is equivalent to ./files
|
|
10
10
|
DATA_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), 'files'))
|
|
11
11
|
|
|
12
|
-
logger =
|
|
12
|
+
logger = Logger().new_server_logger(__name__)
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class Model:
|
mage_ai/server/data/models.py
CHANGED
|
@@ -3,11 +3,11 @@ from mage_ai.server.client.mage import Mage
|
|
|
3
3
|
from mage_ai.server.data.base import Model
|
|
4
4
|
from mage_ai.shared.constants import SAMPLE_SIZE
|
|
5
5
|
from mage_ai.shared.hash import merge_dict
|
|
6
|
-
import
|
|
6
|
+
from mage_ai.server.logger import Logger
|
|
7
7
|
import os
|
|
8
8
|
import os.path
|
|
9
9
|
|
|
10
|
-
logger =
|
|
10
|
+
logger = Logger().new_server_logger(__name__)
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
# right now, we are writing the models to local files to reduce dependencies
|
|
@@ -65,7 +65,10 @@ def cancel_pipeline_execution(
|
|
|
65
65
|
current_process = pipeline_execution.current_pipeline_process
|
|
66
66
|
if current_process and current_process.is_alive():
|
|
67
67
|
pipeline_execution.current_pipeline_process.terminate()
|
|
68
|
-
|
|
68
|
+
|
|
69
|
+
if pipeline_execution.current_message_task:
|
|
70
|
+
pipeline_execution.current_message_task.cancel()
|
|
71
|
+
|
|
69
72
|
if not skip_publish_message:
|
|
70
73
|
publish_message(
|
|
71
74
|
'Pipeline execution cancelled... reverting state to previous iteration',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7e791bee1e32adec.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7e791bee1e32adec.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_buildManifest.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_ssgManifest.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -19,4 +19,4 @@ data-styled.g5[id="ToastWrapper-sc-1a33ph1-0"]{content:"kOVcuR,"}/*!sc*/
|
|
|
19
19
|
.next-error-h1 {
|
|
20
20
|
border-right: 1px solid rgba(255, 255, 255, .3);
|
|
21
21
|
}
|
|
22
|
-
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"
|
|
22
|
+
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"R_cV5sAcMT3qDXIKAGGPe","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7e791bee1e32adec.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-bc5e4eb2c1ff587c.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7e791bee1e32adec.js" defer=""></script><script src="/_next/static/chunks/pages/_error-235304e5badb19eb.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_buildManifest.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_ssgManifest.js" defer=""></script><script src="/_next/static/R_cV5sAcMT3qDXIKAGGPe/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -19,4 +19,4 @@ data-styled.g5[id="ToastWrapper-sc-1a33ph1-0"]{content:"kOVcuR,"}/*!sc*/
|
|
|
19
19
|
.next-error-h1 {
|
|
20
20
|
border-right: 1px solid rgba(255, 255, 255, .3);
|
|
21
21
|
}
|
|
22
|
-
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"
|
|
22
|
+
}</style><h1 class="next-error-h1" style="display:inline-block;margin:0;margin-right:20px;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top">404<!-- --></h1><div style="display:inline-block;text-align:left;line-height:49px;height:49px;vertical-align:middle"><h2 style="font-size:14px;font-weight:normal;line-height:inherit;margin:0;padding:0">This page could not be found<!-- -->.<!-- --></h2></div></div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"#FFB9FC","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","table":"#292A2F"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/_error","query":{},"buildId":"R_cV5sAcMT3qDXIKAGGPe","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,i,n,p,c,t,a,l,u,
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,i,n,p,c,t,a,l,u,r,f,k,g,b,d,h,j,o,_,m,E,w,O,A,B,L,D,T){return{__rewrites:{beforeFiles:[],afterFiles:[{source:"/CLOUD_NOTEBOOK_BASE_PATH_PLACEHOLDER_/datasets",destination:o},{source:"/CLOUD_NOTEBOOK_BASE_PATH_PLACEHOLDER_",destination:o}],fallback:[]},"/":["static/chunks/pages/index-e34a68d2f6fe16f2.js"],"/_error":["static/chunks/pages/_error-235304e5badb19eb.js"],"/manage":[s,n,_,e,i,p,c,m,"static/chunks/pages/manage-3046bc53d24917c7.js"],"/pipeline-runs":[s,n,e,i,p,c,g,"static/chunks/pages/pipeline-runs-e64ba4e8b2bfe73c.js"],"/pipelines":[s,n,e,i,p,c,"static/chunks/pages/pipelines-7446a70bdd8381a5.js"],"/pipelines/[pipeline]":["static/chunks/pages/pipelines/[pipeline]-ca9457e1a6bced4b.js"],"/pipelines/[pipeline]/backfills":[s,n,e,i,p,c,t,"static/chunks/pages/pipelines/[pipeline]/backfills-5f95bb4c3a2d7d46.js"],"/pipelines/[pipeline]/backfills/[...slug]":[s,n,a,l,u,f,b,j,e,i,p,c,t,r,k,g,"static/chunks/pages/pipelines/[pipeline]/backfills/[...slug]-aac92b9ab9034c1a.js"],"/pipelines/[pipeline]/edit":[E,s,n,a,l,u,f,b,d,h,w,O,A,_,"static/chunks/4538-347283088b83c6bf.js",e,i,p,c,r,k,m,B,L,"static/chunks/pages/pipelines/[pipeline]/edit-6d04570af5494767.js"],"/pipelines/[pipeline]/logs":[s,n,l,d,j,e,i,p,c,t,"static/chunks/pages/pipelines/[pipeline]/logs-f8544e3e6ad7c1ff.js"],"/pipelines/[pipeline]/monitors":[s,n,a,h,e,i,p,t,D,"static/chunks/pages/pipelines/[pipeline]/monitors-675171cfd7d7b346.js"],"/pipelines/[pipeline]/monitors/block-runs":[s,n,a,h,e,i,p,t,D,"static/chunks/pages/pipelines/[pipeline]/monitors/block-runs-dbd14363a06d17c5.js"],"/pipelines/[pipeline]/monitors/block-runtime":[E,s,n,a,h,"static/chunks/9832-f97919376d52e3bf.js",e,i,p,t,"static/chunks/pages/pipelines/[pipeline]/monitors/block-runtime-187456108be8a7e6.js"],"/pipelines/[pipeline]/runs":[s,n,l,u,b,e,i,p,c,t,r,g,"static/chunks/pages/pipelines/[pipeline]/runs-f5842a788b0cb80c.js"],"/pipelines/[pipeline]/runs/[run]":[s,n,a,l,u,f,w,e,i,p,c,t,r,k,"static/chunks/pages/pipelines/[pipeline]/runs/[run]-b2955f0ff960894e.js"],"/pipelines/[pipeline]/syncs":[s,n,d,e,i,p,c,t,"static/chunks/pages/pipelines/[pipeline]/syncs-e1271453ed0c8d6e.js"],"/pipelines/[pipeline]/triggers":[s,n,a,l,u,f,e,i,p,c,t,r,k,"static/chunks/pages/pipelines/[pipeline]/triggers-4e973d4bc0ebcdc1.js"],"/pipelines/[pipeline]/triggers/[...slug]":[s,n,a,l,u,f,b,j,e,i,p,c,t,r,k,g,L,"static/chunks/pages/pipelines/[pipeline]/triggers/[...slug]-6160e7f91a340354.js"],"/settings":["static/chunks/pages/settings-d594a66a568306da.js"],"/settings/account/profile":[s,e,i,T,"static/chunks/pages/settings/account/profile-f1844beb127841f3.js"],"/settings/workspace/preferences":[s,e,i,"static/chunks/pages/settings/workspace/preferences-997acba85f777259.js"],"/settings/workspace/sync-data":[s,e,i,"static/chunks/pages/settings/workspace/sync-data-8c903140c99e487c.js"],"/settings/workspace/users":[s,n,e,i,p,c,T,"static/chunks/pages/settings/workspace/users-d72dfc596e943cc4.js"],"/sign-in":[s,e,"static/chunks/pages/sign-in-404d934deb8950d5.js"],"/terminal":[s,d,A,e,i,B,"static/chunks/pages/terminal-4c9ad80f8f9d1074.js"],"/test":[O,"static/chunks/pages/test-85cf18ae78ff535c.js"],"/triggers":[s,n,e,i,p,c,"static/chunks/pages/triggers-783b9526167f1249.js"],sortedPages:["/","/_app","/_error","/manage","/pipeline-runs","/pipelines","/pipelines/[pipeline]","/pipelines/[pipeline]/backfills","/pipelines/[pipeline]/backfills/[...slug]","/pipelines/[pipeline]/edit","/pipelines/[pipeline]/logs","/pipelines/[pipeline]/monitors","/pipelines/[pipeline]/monitors/block-runs","/pipelines/[pipeline]/monitors/block-runtime","/pipelines/[pipeline]/runs","/pipelines/[pipeline]/runs/[run]","/pipelines/[pipeline]/syncs","/pipelines/[pipeline]/triggers","/pipelines/[pipeline]/triggers/[...slug]","/settings","/settings/account/profile","/settings/workspace/preferences","/settings/workspace/sync-data","/settings/workspace/users","/sign-in","/terminal","/test","/triggers"]}}("static/chunks/3850-6395783d820def1c.js","static/chunks/2344-5cd452dd1825dabc.js","static/chunks/9386-d4cc11bab74eec8d.js","static/chunks/2083-78a438dbdc57d1e4.js","static/chunks/6166-2ee6aff0ca70b2f0.js","static/chunks/8180-8de652170ea5ed93.js","static/chunks/2626-e7fa4f83f8214c97.js","static/chunks/5896-10a676bcc86978cc.js","static/chunks/4804-01a10103ebe26ca8.js","static/chunks/1774-aa51ef1da7217ff9.js","static/chunks/6532-dcc478dab6a58580.js","static/chunks/5872-1767c45ee6690ae5.js","static/chunks/1286-a62050b3f897c6be.js","static/chunks/4178-9103014b7dae3c49.js","static/chunks/2524-6aeb9419acf5d1b4.js","static/chunks/9565-28e1c30511c95c2d.js","static/chunks/2714-1e79e9f2e998b544.js","static/chunks/4495-4f0340aa82e0c623.js","/datasets","static/chunks/8789-4f858e520d46973b.js","static/chunks/4261-6c235b561c91eca3.js","static/chunks/29107295-989a0767a635d9d5.js","static/chunks/2125-0b537dc53fe71b18.js","static/chunks/7011-81dd8269c4806d26.js","static/chunks/6085-692d2f784c0504f2.js","static/chunks/5141-2ae9eae00ec2cdfa.js","static/chunks/839-c0deab1de13a0fba.js","static/chunks/7400-f4db9b5d41f67f75.js","static/chunks/5477-b439f211b6146a11.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|