girder-worker 5.0.19.dev26__tar.gz → 5.0.19.dev55__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.
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/PKG-INFO +2 -1
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/app.py +14 -3
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/tasks/__init__.py +19 -14
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/PKG-INFO +2 -1
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/requires.txt +1 -0
- girder_worker-5.0.19.dev55/girder_worker.egg-info/scm_version.json +8 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/requirements.in +1 -0
- girder_worker-5.0.19.dev26/girder_worker.egg-info/scm_version.json +0 -8
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/MANIFEST.in +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/.gitignore +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/plugins.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/tasks.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/celeryconfig.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/context/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/context/girder_context.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/context/nongirder_context.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/io/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/io/girder.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/nvidia.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/stream_adapter.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/transforms/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/transforms/girder.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/utils.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/entrypoint.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/log_utils.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/task.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/decorators.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tee.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/contrib/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/contrib/girder_io_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/decorators_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/fake_dir/file1.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/fake_dir/file2.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/fake_dir/subdir/file3.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/girder_io_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/tee_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/transform_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/types_test.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transform.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/common.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/contrib/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/contrib/girder_io.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/girder_io.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/__init__.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/base.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/boolean.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/choice.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/color.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder_folder.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder_item.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/integer.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number_choice.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number_multichoice.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number_vector.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/range.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string_choice.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string_multichoice.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string_vector.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/vector.py +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/worker.dist.cfg +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/SOURCES.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/dependency_links.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/entry_points.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/not-zip-safe +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/scm_file_list.json +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/top_level.txt +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/pyproject.toml +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/setup.cfg +0 -0
- {girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: girder-worker
|
|
3
|
-
Version: 5.0.19.
|
|
3
|
+
Version: 5.0.19.dev55
|
|
4
4
|
Summary: Batch execution engine built on celery.
|
|
5
5
|
Home-page: https://github.com/girder/girder_worker
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -21,6 +21,7 @@ Requires-Dist: requests[security]>=2.20.0
|
|
|
21
21
|
Requires-Dist: setuptools_scm
|
|
22
22
|
Requires-Dist: stevedore
|
|
23
23
|
Requires-Dist: jsonpickle
|
|
24
|
+
Requires-Dist: packaging
|
|
24
25
|
Requires-Dist: docker>=2.6.0
|
|
25
26
|
Dynamic: author
|
|
26
27
|
Dynamic: author-email
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import sys
|
|
3
3
|
import traceback as tb
|
|
4
|
-
from distutils.version import LooseVersion
|
|
5
4
|
|
|
6
5
|
import jsonpickle
|
|
7
6
|
from celery import Celery, __version__
|
|
@@ -17,6 +16,7 @@ from girder_worker.utils import (JobSpecNotFound, JobStatus, StateTransitionExce
|
|
|
17
16
|
is_builtin_celery_task, is_revoked)
|
|
18
17
|
from girder_worker.utils.transform import ResultTransform
|
|
19
18
|
from kombu.serialization import register
|
|
19
|
+
from packaging.version import Version
|
|
20
20
|
|
|
21
21
|
CeleryAppInfo = {'threads_pool': False}
|
|
22
22
|
|
|
@@ -101,7 +101,7 @@ def _capture_celery_pool(sender, **kwargs):
|
|
|
101
101
|
|
|
102
102
|
@worker_ready.connect
|
|
103
103
|
def check_celery_version(*args, **kwargs):
|
|
104
|
-
if
|
|
104
|
+
if Version(__version__) < Version('4.0.0'):
|
|
105
105
|
sys.exit("""You are running Celery {}.
|
|
106
106
|
|
|
107
107
|
girder-worker requires celery>=4.0.0""".format(__version__))
|
|
@@ -221,7 +221,18 @@ def gw_task_revoked(sender=None, request=None, **rest):
|
|
|
221
221
|
"No jobInfoSpec. Unable to move \'%s\' into CANCELED state.")
|
|
222
222
|
|
|
223
223
|
|
|
224
|
-
|
|
224
|
+
def _girder_io_encode(data):
|
|
225
|
+
# jsonpickle defaults `keys` to False but plans to default it to True in
|
|
226
|
+
# jsonpickle 5.0.0. Pass it explicitly so behavior is stable and no
|
|
227
|
+
# deprecation warning is emitted.
|
|
228
|
+
return jsonpickle.encode(data, keys=True)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
def _girder_io_decode(data):
|
|
232
|
+
return jsonpickle.decode(data, keys=True)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
register('girder_io', _girder_io_encode, _girder_io_decode,
|
|
225
236
|
content_type='application/json',
|
|
226
237
|
content_encoding='utf-8')
|
|
227
238
|
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/tasks/__init__.py
RENAMED
|
@@ -369,20 +369,25 @@ class DockerTask(Task):
|
|
|
369
369
|
daemon=True).start()
|
|
370
370
|
|
|
371
371
|
def _cleanup_temp_volumes(self, temp_volumes, default_temp_volume):
|
|
372
|
-
#
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
372
|
+
# This runs in a daemon thread, so it must never raise; an unhandled
|
|
373
|
+
# exception here would be reported as an unhandled thread exception.
|
|
374
|
+
try:
|
|
375
|
+
# Set the permission to allow cleanup of temp directories
|
|
376
|
+
temp_volumes = [v for v in temp_volumes if os.path.exists(v.host_path)]
|
|
377
|
+
to_chmod = temp_volumes[:]
|
|
378
|
+
# If our default_temp_volume instance has been transformed then we
|
|
379
|
+
# know it has been used and we have to clean it up.
|
|
380
|
+
if default_temp_volume._transformed:
|
|
381
|
+
to_chmod.append(default_temp_volume)
|
|
382
|
+
temp_volumes.append(default_temp_volume)
|
|
383
|
+
|
|
384
|
+
if len(to_chmod) > 0:
|
|
385
|
+
utils.chmod_writable([v.host_path for v in to_chmod])
|
|
386
|
+
|
|
387
|
+
for v in temp_volumes:
|
|
388
|
+
shutil.rmtree(v.host_path)
|
|
389
|
+
except Exception:
|
|
390
|
+
logger.exception('Failed to clean up temporary docker volumes')
|
|
386
391
|
|
|
387
392
|
|
|
388
393
|
def _add_environment_kargs(run_kwargs):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: girder-worker
|
|
3
|
-
Version: 5.0.19.
|
|
3
|
+
Version: 5.0.19.dev55
|
|
4
4
|
Summary: Batch execution engine built on celery.
|
|
5
5
|
Home-page: https://github.com/girder/girder_worker
|
|
6
6
|
Author: Kitware, Inc.
|
|
@@ -21,6 +21,7 @@ Requires-Dist: requests[security]>=2.20.0
|
|
|
21
21
|
Requires-Dist: setuptools_scm
|
|
22
22
|
Requires-Dist: stevedore
|
|
23
23
|
Requires-Dist: jsonpickle
|
|
24
|
+
Requires-Dist: packaging
|
|
24
25
|
Requires-Dist: docker>=2.6.0
|
|
25
26
|
Dynamic: author
|
|
26
27
|
Dynamic: author-email
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/__init__.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/plugins.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/_test_plugins/tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/context/girder_context.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/context/nongirder_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/io/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/stream_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/docker/transforms/girder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/tee_test.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/tests/types_test.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/__init__.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/transforms/common.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/boolean.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/choice.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/color.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder_folder.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/girder_item.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/integer.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number_choice.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/number_vector.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/range.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string_choice.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/string_vector.py
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker/utils/types/vector.py
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/scm_file_list.json
RENAMED
|
File without changes
|
{girder_worker-5.0.19.dev26 → girder_worker-5.0.19.dev55}/girder_worker.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|