@@ -18,6 +18,7 @@ class ExecutorSettings:
1818 myparam: int = field(default = None , metadata = {" help" : " Some help text" })
1919
2020
21+ # Required:
2122# Specify common settings shared by various executors.
2223common_settings = CommonSettings(
2324 # define whether your executor plugin executes locally
@@ -36,32 +37,33 @@ class Executor(RemoteExecutor)
3637 self ,
3738 workflow : WorkflowExecutorInterface ,
3839 dag : DAGExecutorInterface ,
39- stats : StatsExecutorInterface ,
4040 logger : LoggerExecutorInterface ,
41- executor_settings : Optional[ExecutorSettings], # if no ExecutorSettings are defined above, this will receive None
41+
4242 ):
43- super ().__init__ (
44- workflow,
45- dag,
46- stats,
47- logger,
48- executor_settings,
49- # configure behavior of RemoteExecutor below
50- max_status_checks_per_second = 1 , # how many status checks should be performed per second
51- disable_default_remote_provider_args = False , # whether arguments for setting the remote provider shall not be passed to jobs
52- disable_default_resources_args = False , # whether arguments for setting default resources shall not be passed to jobs
53- disable_envvar_declarations = False , # whether environment variables shall not be passed to jobs
54- )
55- # access executor specific settings
56- self .executor_settings
57- # access workflow
58- self .workflow
43+ super ().__init__ (
44+ workflow,
45+ dag,
46+ logger,
47+ executor_settings,
48+ # configure behavior of RemoteExecutor below
49+ pass_default_remote_provider_args = True , # whether arguments for setting the remote provider shall be passed to jobs
50+ pass_default_resources_args = True , # whether arguments for setting default resources shall be passed to jobs
51+ pass_envvar_declarations_to_cmd = True , # whether environment variables shall be passed to jobs
52+ )
53+ # access executor specific settings
54+ self .executor_settings
55+ # access workflow
56+ self .workflow
57+
58+ # IMPORTANT: in your plugin, only access methods and properties of Snakemake objects (like Workflow, Persistence, etc.)
59+ # that are defined in the interfaces found in THIS package. Other parts of those objects
60+ # are NOT guaranteed to remain the same across new releases.
5961
60- # IMPORTANT: in your plugin, only access methods and properties of Snakemake objects (like Workflow, Persistence, etc.)
61- # that are defined in the interfaces found in THIS package. Other parts of those objects
62- # are NOT guaranteed to remain the same across new releases .
62+ # To ensure that the used interfaces are not changing, you should depend on this package as
63+ # >=a.b.c,<d with d=a+1 (i.e. pin the dependency on this package to be at least the version at time of development
64+ # and less than the next major version which would introduce breaking changes) .
6365
64- # To ensure that the used interfaces are not changing, you should depend on this package as
65- # >=a.b.c,<d with d=a+1 (i.e. pin the dependency on this package to be at least the version at time of development
66- # and less than the next major version which would introduce breaking changes).
66+ async def _wait_for_jobs ( self ):
67+ # implement here a loop that checks which jobs are already finished
68+
6769```
0 commit comments