Skip to content

Commit

Permalink
fix: adapt to API changes
Browse files Browse the repository at this point in the history
  • Loading branch information
johanneskoester committed Nov 30, 2023
1 parent 628e719 commit 21cae32
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
9 changes: 5 additions & 4 deletions snakemake_interface_executor_plugins/executors/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from snakemake_interface_executor_plugins.executors.real import RealExecutor
from snakemake_interface_executor_plugins.jobs import JobExecutorInterface
from snakemake_interface_executor_plugins.logging import LoggerExecutorInterface
from snakemake_interface_executor_plugins.settings import ExecMode
from snakemake_interface_executor_plugins.settings import ExecMode, SharedFSUsage
from snakemake_interface_executor_plugins.utils import async_lock, format_cli_arg
from snakemake_interface_executor_plugins.workflow import WorkflowExecutorInterface

Expand Down Expand Up @@ -54,7 +54,7 @@ def __init__(
)
self.jobname = self.workflow.remote_execution_settings.jobname

if not self.workflow.storage_settings.assume_shared_fs:
if SharedFSUsage.SOURCES not in self.workflow.storage_settings.shared_fs_usage:
# use relative path to Snakefile
self.snakefile = os.path.relpath(workflow.main_snakefile)

Expand Down Expand Up @@ -118,13 +118,14 @@ def get_exec_mode(self) -> ExecMode:
def get_python_executable(self):
return (
sys.executable
if self.workflow.storage_settings.assume_shared_fs
if SharedFSUsage.SOFTWARE_DEPLOYMENT
in self.workflow.storage_settings.shared_fs_usage
else "python"
)

def get_job_args(self, job: JobExecutorInterface):
waitfiles_parameter = ""
if self.workflow.storage_settings.assume_shared_fs:
if SharedFSUsage.INPUT_OUTPUT in self.workflow.storage_settings.shared_fs_usage:
wait_for_files = []
wait_for_files.append(self.tmpdir)
wait_for_files.extend(job.get_wait_for_files())
Expand Down
11 changes: 10 additions & 1 deletion snakemake_interface_executor_plugins/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,19 @@ def keep_incomplete(self) -> bool:
...


class SharedFSUsage(SettingsEnumBase):
PERSISTENCE = 0
INPUT_OUTPUT = 1
SOFTWARE_DEPLOYMENT = 2
SOURCES = 3
STORAGE_LOCAL_COPIES = 4
SOURCE_CACHE = 5


class StorageSettingsExecutorInterface(ABC):
@property
@abstractmethod
def assume_shared_fs(self) -> bool:
def shared_fs_usage(self) -> Set[SharedFSUsage]:
...


Expand Down

0 comments on commit 21cae32

Please sign in to comment.