-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #302 from HSF/dev
Dev
- Loading branch information
Showing
10 changed files
with
90 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,9 +7,10 @@ | |
# | ||
# Authors: | ||
# - Wen Guan, <[email protected]>, 2019 - 2024 | ||
|
||
# - Lino Oscar Gerlach, <[email protected]>, 2024 | ||
|
||
import base64 | ||
import contextlib | ||
import errno | ||
import datetime | ||
import importlib | ||
|
@@ -942,3 +943,32 @@ def idds_mask(dict_): | |
else: | ||
ret[k] = dict_[k] | ||
return ret | ||
|
||
|
||
@contextlib.contextmanager | ||
def modified_environ(*remove, **update): | ||
""" | ||
Temporarily updates the ``os.environ`` dictionary in-place. | ||
The ``os.environ`` dictionary is updated in-place so that the modification | ||
is sure to work in all situations. | ||
:param remove: Environment variables to remove. | ||
:param update: Dictionary of environment variables and values to add/update. | ||
""" | ||
env = os.environ | ||
update = update or {} | ||
remove = remove or [] | ||
|
||
# List of environment variables being updated or removed. | ||
stomped = (set(update.keys()) | set(remove)) & set(env.keys()) | ||
# Environment variables and values to restore on exit. | ||
update_after = {k: env[k] for k in stomped} | ||
# Environment variables and values to remove on exit. | ||
remove_after = frozenset(k for k in update if k not in env) | ||
|
||
try: | ||
env.update(update) | ||
[env.pop(k, None) for k in remove] | ||
yield | ||
finally: | ||
env.update(update_after) | ||
[env.pop(k) for k in remove_after] |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
|
||
var appConfig = { | ||
'iddsAPI_request': "https://lxplus926.cern.ch:443/idds/monitor_request/null/null", | ||
'iddsAPI_transform': "https://lxplus926.cern.ch:443/idds/monitor_transform/null/null", | ||
'iddsAPI_processing': "https://lxplus926.cern.ch:443/idds/monitor_processing/null/null", | ||
'iddsAPI_request_detail': "https://lxplus926.cern.ch:443/idds/monitor/null/null/true/false/false", | ||
'iddsAPI_transform_detail': "https://lxplus926.cern.ch:443/idds/monitor/null/null/false/true/false", | ||
'iddsAPI_processing_detail': "https://lxplus926.cern.ch:443/idds/monitor/null/null/false/false/true" | ||
'iddsAPI_request': "https://lxplus935.cern.ch:443/idds/monitor_request/null/null", | ||
'iddsAPI_transform': "https://lxplus935.cern.ch:443/idds/monitor_transform/null/null", | ||
'iddsAPI_processing': "https://lxplus935.cern.ch:443/idds/monitor_processing/null/null", | ||
'iddsAPI_request_detail': "https://lxplus935.cern.ch:443/idds/monitor/null/null/true/false/false", | ||
'iddsAPI_transform_detail': "https://lxplus935.cern.ch:443/idds/monitor/null/null/false/true/false", | ||
'iddsAPI_processing_detail': "https://lxplus935.cern.ch:443/idds/monitor/null/null/false/false/true" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ | |
# | ||
# Authors: | ||
# - Wen Guan, <[email protected]>, 2023 - 2024 | ||
# - Lino Oscar Gerlach, <[email protected]>, 2024 | ||
|
||
import base64 | ||
import datetime | ||
|
@@ -21,7 +22,7 @@ | |
from idds.common import exceptions | ||
from idds.common.constants import WorkflowType, TransformStatus | ||
from idds.common.imports import get_func_name | ||
from idds.common.utils import setup_logging, json_dumps, json_loads, encode_base64 | ||
from idds.common.utils import setup_logging, json_dumps, json_loads, encode_base64, modified_environ | ||
from .asyncresult import AsyncResult, MapResult | ||
from .base import Base, Context | ||
from .workflow import WorkflowCanvas | ||
|
@@ -779,9 +780,8 @@ def load(self, func_name): | |
:raise Exception | ||
""" | ||
os.environ['IDDS_IWORKFLOW_LOAD_WORK'] = 'true' | ||
func = super(Work, self).load(func_name) | ||
del os.environ['IDDS_IWORKFLOW_LOAD_WORK'] | ||
with modified_environ(IDDS_IGNORE_WORK_DECORATOR='true'): | ||
func = super(Work, self).load(func_name) | ||
|
||
return func | ||
|
||
|
@@ -922,7 +922,7 @@ def work(func=None, *, map_results=False, lazy=False, init_env=None): | |
if func is None: | ||
return functools.partial(work, map_results=map_results, lazy=lazy, init_env=init_env) | ||
|
||
if 'IDDS_IWORKFLOW_LOAD_WORK' in os.environ: | ||
if 'IDDS_IGNORE_WORK_DECORATOR' in os.environ: | ||
return func | ||
|
||
@functools.wraps(func) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ | |
# | ||
# Authors: | ||
# - Wen Guan, <[email protected]>, 2023 - 2024 | ||
# - Lino Oscar Gerlach, <[email protected]>, 2024 | ||
|
||
import base64 | ||
import collections | ||
|
@@ -23,7 +24,7 @@ | |
|
||
# from idds.common import exceptions | ||
from idds.common.constants import WorkflowType | ||
from idds.common.utils import setup_logging, create_archive_file, json_dumps, json_loads, encode_base64 | ||
from idds.common.utils import setup_logging, create_archive_file, json_dumps, json_loads, encode_base64, modified_environ | ||
from .asyncresult import AsyncResult | ||
from .base import Base, Context | ||
|
||
|
@@ -638,9 +639,7 @@ def get_idds_env(self): | |
def get_idds_server(self): | ||
if 'IDDS_HOST' in self._idds_env: | ||
return self._idds_env['IDDS_HOST'] | ||
if os.environ.get('IDDS_HOST', None): | ||
return os.environ.get('IDDS_HOST', None) | ||
return None | ||
return os.environ.get('IDDS_HOST', None) | ||
|
||
def prepare_with_idds(self): | ||
""" | ||
|
@@ -1059,9 +1058,8 @@ def load(self, func_name): | |
:raise Exception | ||
""" | ||
os.environ['IDDS_IWORKFLOW_LOAD_WORKFLOW'] = 'true' | ||
func = super(Workflow, self).load(func_name) | ||
del os.environ['IDDS_IWORKFLOW_LOAD_WORKFLOW'] | ||
with modified_environ(IDDS_IGNORE_WORKFLOW_DECORATOR='true'): | ||
func = super(Workflow, self).load(func_name) | ||
|
||
return func | ||
|
||
|
@@ -1161,7 +1159,7 @@ def workflow(func=None, *, local=False, service='idds', source_dir=None, primary | |
return functools.partial(workflow, local=local, service=service, source_dir=source_dir, primary=primary, queue=queue, site=site, cloud=cloud, | ||
max_walltime=max_walltime, distributed=distributed, init_env=init_env) | ||
|
||
if 'IDDS_IWORKFLOW_LOAD_WORKFLOW' in os.environ: | ||
if 'IDDS_IGNORE_WORKFLOW_DECORATOR' in os.environ: | ||
return func | ||
|
||
@functools.wraps(func) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,5 +5,5 @@ dependencies: | |
- pip: | ||
- anytree | ||
- networkx | ||
- stomp.py==8.0.1 | ||
- stomp.py<=8.0.1 | ||
- idds-common==2.0.9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters