fractal-server 2.14.2__py3-none-any.whl → 2.14.3a0__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.
@@ -1 +1 @@
1
- __VERSION__ = "2.14.2"
1
+ __VERSION__ = "2.14.3a0"
@@ -20,20 +20,9 @@ from fractal_server.logger import get_logger
20
20
  from fractal_server.logger import set_logger
21
21
 
22
22
 
23
- def _copy_subfolder(src: Path, dest: Path, logger_name: str):
24
- t_start = time.perf_counter()
25
- cmd_cp = f"cp -r {src.as_posix()} {dest.as_posix()}"
26
- logger = get_logger(logger_name=logger_name)
27
- logger.debug(f"{cmd_cp=}")
28
- res = run_subprocess(cmd=cmd_cp, logger_name=logger_name)
29
- elapsed = time.perf_counter() - t_start
30
- logger.debug(f"[_copy_subfolder] END {elapsed=} s ({dest.as_posix()})")
31
- return res
32
-
33
-
34
23
  def _create_tar_archive(
35
24
  tarfile_path: str,
36
- subfolder_path_tmp_copy: Path,
25
+ subfolder_path: Path,
37
26
  logger_name: str,
38
27
  filelist_path: str | None,
39
28
  ):
@@ -44,39 +33,26 @@ def _create_tar_archive(
44
33
  if filelist_path is None:
45
34
  cmd_tar = (
46
35
  f"tar -c -z -f {tarfile_path} "
47
- f"--directory={subfolder_path_tmp_copy.as_posix()} "
36
+ f"--directory={subfolder_path.as_posix()} "
48
37
  "."
49
38
  )
50
39
  else:
51
40
  cmd_tar = (
52
41
  f"tar -c -z -f {tarfile_path} "
53
- f"--directory={subfolder_path_tmp_copy.as_posix()} "
42
+ f"--directory={subfolder_path.as_posix()} "
54
43
  f"--files-from={filelist_path} --ignore-failed-read"
55
44
  )
56
45
 
57
46
  logger.debug(f"cmd tar:\n{cmd_tar}")
58
47
 
59
- run_subprocess(cmd=cmd_tar, logger_name=logger_name, allow_char="*")
48
+ run_subprocess(
49
+ cmd=cmd_tar,
50
+ logger_name=logger_name,
51
+ )
60
52
  elapsed = time.perf_counter() - t_start
61
53
  logger.debug(f"[_create_tar_archive] END {elapsed=} s ({tarfile_path})")
62
54
 
63
55
 
64
- def _remove_temp_subfolder(subfolder_path_tmp_copy: Path, logger_name: str):
65
- logger = get_logger(logger_name)
66
- t_start = time.perf_counter()
67
- try:
68
- cmd_rm = f"rm -rf {subfolder_path_tmp_copy}"
69
- logger.debug(f"cmd rm:\n{cmd_rm}")
70
- run_subprocess(cmd=cmd_rm, logger_name=logger_name, allow_char="*")
71
- except Exception as e:
72
- logger.debug(f"ERROR during {cmd_rm}: {e}")
73
- elapsed = time.perf_counter() - t_start
74
- logger.debug(
75
- f"[_remove_temp_subfolder] END {elapsed=} s "
76
- f"({subfolder_path_tmp_copy=})"
77
- )
78
-
79
-
80
56
  def compress_folder(
81
57
  subfolder_path: Path,
82
58
  filelist_path: str | None,
@@ -110,18 +86,11 @@ def compress_folder(
110
86
  tarfile_path = (parent_dir / f"{subfolder_name}.tar.gz").as_posix()
111
87
  logger.debug(f"{tarfile_path=}")
112
88
 
113
- subfolder_path_tmp_copy = (
114
- subfolder_path.parent / f"{subfolder_path.name}_copy"
115
- )
116
89
  try:
117
- _copy_subfolder(
118
- subfolder_path,
119
- subfolder_path_tmp_copy,
120
- logger_name=logger_name,
121
- )
90
+
122
91
  _create_tar_archive(
123
92
  tarfile_path,
124
- subfolder_path_tmp_copy,
93
+ subfolder_path,
125
94
  logger_name=logger_name,
126
95
  filelist_path=filelist_path,
127
96
  )
@@ -129,12 +98,15 @@ def compress_folder(
129
98
 
130
99
  except Exception as e:
131
100
  logger.debug(f"ERROR: {e}")
132
- sys.exit(1)
101
+ cmd_rm = f"rm {tarfile_path}"
102
+ try:
103
+ run_subprocess(cmd=cmd_rm, logger_name=logger_name)
104
+ except Exception as e_rm:
105
+ logger.error(
106
+ f"Running {cmd_rm=} failed, original error: {str(e_rm)}."
107
+ )
133
108
 
134
- finally:
135
- _remove_temp_subfolder(
136
- subfolder_path_tmp_copy, logger_name=logger_name
137
- )
109
+ sys.exit(1)
138
110
 
139
111
 
140
112
  def main(
@@ -18,7 +18,6 @@ import logging
18
18
  import os
19
19
  import sys
20
20
  from typing import Literal
21
- from typing import Optional
22
21
  from typing import Union
23
22
 
24
23
  import cloudpickle
@@ -91,7 +90,6 @@ def worker(
91
90
  *,
92
91
  in_fname: str,
93
92
  out_fname: str,
94
- extra_import_paths: Optional[str] = None,
95
93
  ) -> None:
96
94
  """
97
95
  Execute a job, possibly on a remote node.
@@ -99,7 +97,6 @@ def worker(
99
97
  Arguments:
100
98
  in_fname: Absolute path to the input pickle file (must be readable).
101
99
  out_fname: Absolute path of the output pickle file (must be writeable).
102
- extra_import_paths: Additional import paths
103
100
  """
104
101
 
105
102
  # Create output folder, if missing
@@ -108,10 +105,6 @@ def worker(
108
105
  logging.debug(f"_slurm.remote.worker: create {out_dir=}")
109
106
  os.mkdir(out_dir)
110
107
 
111
- if extra_import_paths:
112
- _extra_import_paths = extra_import_paths.split(":")
113
- sys.path[:0] = _extra_import_paths
114
-
115
108
  # Execute the job and capture exceptions
116
109
  try:
117
110
  with open(in_fname, "rb") as f:
@@ -167,18 +160,11 @@ if __name__ == "__main__":
167
160
  help="Path of output pickle file",
168
161
  required=True,
169
162
  )
170
- parser.add_argument(
171
- "--extra-import-paths",
172
- type=str,
173
- help="Extra import paths",
174
- required=False,
175
- )
176
163
  parsed_args = parser.parse_args()
177
164
  logging.debug(f"{parsed_args=}")
178
165
 
179
166
  kwargs = dict(
180
- in_fname=parsed_args.input_file, out_fname=parsed_args.output_file
167
+ in_fname=parsed_args.input_file,
168
+ out_fname=parsed_args.output_file,
181
169
  )
182
- if parsed_args.extra_import_paths:
183
- kwargs["extra_import_paths"] = parsed_args.extra_import_paths
184
170
  worker(**kwargs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fractal-server
3
- Version: 2.14.2
3
+ Version: 2.14.3a0
4
4
  Summary: Backend component of the Fractal analytics platform
5
5
  License: BSD-3-Clause
6
6
  Author: Tommaso Comparin
@@ -1,4 +1,4 @@
1
- fractal_server/__init__.py,sha256=6Uu9b8c6XWTG60V3XHQPdFjCGQfgYX4y4FTD3DmRFXk,23
1
+ fractal_server/__init__.py,sha256=tC2TcJCdcROvE_iCz5smmQCASlmjOCml-OMRsihPvZU,25
2
2
  fractal_server/__main__.py,sha256=rkM8xjY1KeS3l63irB8yCrlVobR-73uDapC4wvrIlxI,6957
3
3
  fractal_server/alembic.ini,sha256=MWwi7GzjzawI9cCAK1LW7NxIBQDUqD12-ptJoq5JpP0,3153
4
4
  fractal_server/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -67,7 +67,7 @@ fractal_server/app/routes/aux/validate_user_settings.py,sha256=FLVi__8YFcm_6c_K5
67
67
  fractal_server/app/routes/pagination.py,sha256=L8F5JqekF39qz-LpeScdlhb57MQnSRXjK4ZEtsZqYLk,1210
68
68
  fractal_server/app/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  fractal_server/app/runner/components.py,sha256=-Ii5l8d_V6f5DFOd-Zsr8VYmOsyqw0Hox9fEFQiuqxY,66
70
- fractal_server/app/runner/compress_folder.py,sha256=PpamheggkacuAFhSiHkuW76x9zwawouqNySPBDyAuRI,5245
70
+ fractal_server/app/runner/compress_folder.py,sha256=6lD8hhCE0Sy9kpZEcH5a7nc81ur2T3_CAimSdrW__DE,4123
71
71
  fractal_server/app/runner/exceptions.py,sha256=JC5ufHyeA1hYD_rkZUscI30DD8D903ncag7Z3AArmUY,4215
72
72
  fractal_server/app/runner/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  fractal_server/app/runner/executors/base_runner.py,sha256=4xxMpYycIeAOz5niaJj2xtVW_Cq-shCxP1qk4g-KwOM,5137
@@ -80,7 +80,7 @@ fractal_server/app/runner/executors/slurm_common/_job_states.py,sha256=nuV-Zba38
80
80
  fractal_server/app/runner/executors/slurm_common/_slurm_config.py,sha256=_feRRnVVnvQa3AsOQqfULfOgaoj2o6Ze0-fwXwic8p4,15795
81
81
  fractal_server/app/runner/executors/slurm_common/base_slurm_runner.py,sha256=bqFD9uZfwXqmVXsScrgANp09zvbuc_LSGCDAmBV0wqo,33379
82
82
  fractal_server/app/runner/executors/slurm_common/get_slurm_config.py,sha256=BW6fDpPyB0VH5leVxvwzkVH3r3hC7DuSyoWmRzHITWg,7305
83
- fractal_server/app/runner/executors/slurm_common/remote.py,sha256=WdzVSLYKOxLb9NmrvwZu0voXRPTO1gyKTUUuRJwu9Lc,5861
83
+ fractal_server/app/runner/executors/slurm_common/remote.py,sha256=Z7cnAlhYi9Orgeq6UGCl3cnWq9DX_sPrc6X1p40hVFE,5364
84
84
  fractal_server/app/runner/executors/slurm_common/slurm_job_task_models.py,sha256=RoxHLKOn0_wGjnY0Sv0a9nDSiqxYZHKRoMkT3p9_G1E,3607
85
85
  fractal_server/app/runner/executors/slurm_common/utils_executors.py,sha256=naPyJI0I3lD-sYHbSXbMFGUBK4h_SggA5V91Z1Ch1Xg,1416
86
86
  fractal_server/app/runner/executors/slurm_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -209,8 +209,8 @@ fractal_server/tasks/v2/utils_templates.py,sha256=Kc_nSzdlV6KIsO0CQSPs1w70zLyENP
209
209
  fractal_server/urls.py,sha256=QjIKAC1a46bCdiPMu3AlpgFbcv6a4l3ABcd5xz190Og,471
210
210
  fractal_server/utils.py,sha256=PMwrxWFxRTQRl1b9h-NRIbFGPKqpH_hXnkAT3NfZdpY,3571
211
211
  fractal_server/zip_tools.py,sha256=GjDgo_sf6V_DDg6wWeBlZu5zypIxycn_l257p_YVKGc,4876
212
- fractal_server-2.14.2.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
213
- fractal_server-2.14.2.dist-info/METADATA,sha256=LQDnOxlZL14XsZXYcQ42N-JR0NSMBfxN4qOP2raSiG4,4560
214
- fractal_server-2.14.2.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
215
- fractal_server-2.14.2.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
216
- fractal_server-2.14.2.dist-info/RECORD,,
212
+ fractal_server-2.14.3a0.dist-info/LICENSE,sha256=QKAharUuhxL58kSoLizKJeZE3mTCBnX6ucmz8W0lxlk,1576
213
+ fractal_server-2.14.3a0.dist-info/METADATA,sha256=aO10IP6HGwbX7HZjPJ6m16WCkWHBLZQtEAiOcQYzw-4,4562
214
+ fractal_server-2.14.3a0.dist-info/WHEEL,sha256=7dDg4QLnNKTvwIDR9Ac8jJaAmBC_owJrckbC0jjThyA,88
215
+ fractal_server-2.14.3a0.dist-info/entry_points.txt,sha256=8tV2kynvFkjnhbtDnxAqImL6HMVKsopgGfew0DOp5UY,58
216
+ fractal_server-2.14.3a0.dist-info/RECORD,,