Skip to content
Snippets Groups Projects

Make a sampleset work transparently with list of DelayedSamples

Merged Tiago de Freitas Pereira requested to merge sampleset-delayed-sample into master

Files

+ 14
4
@@ -251,7 +251,7 @@ class SGEMultipleQueuesCluster(JobQueueCluster):
loop=loop,
silence_logs=silence_logs,
asynchronous=asynchronous,
name=name,
name=name,
)
max_jobs = get_max_jobs(sge_job_spec)
@@ -262,6 +262,7 @@ class SGEMultipleQueuesCluster(JobQueueCluster):
# removal before we remove it.
# Here the goal is to wait 2 minutes before scaling down since
# it is very expensive to get jobs on the SGE grid
self.adapt(minimum=min_jobs, maximum=max_jobs, wait_count=60, interval=1000)
def _get_worker_spec_options(self, job_spec):
@@ -277,6 +278,9 @@ class SGEMultipleQueuesCluster(JobQueueCluster):
"io_big=TRUE," if "io_big" in job_spec and job_spec["io_big"] else ""
)
memory = _get_key_from_spec(job_spec, "memory")[:-1]
new_resource_spec += (f"mem_free={memory},")
queue = _get_key_from_spec(job_spec, "queue")
if queue != "all.q":
new_resource_spec += f"{queue}=TRUE"
@@ -285,7 +289,7 @@ class SGEMultipleQueuesCluster(JobQueueCluster):
return {
"queue": queue,
"memory": _get_key_from_spec(job_spec, "memory"),
"memory": "0",
"cores": 1,
"processes": 1,
"log_directory": self.log_directory,
@@ -295,7 +299,7 @@ class SGEMultipleQueuesCluster(JobQueueCluster):
"protocol": self.protocol,
"security": None,
"resources": _get_key_from_spec(job_spec, "resources"),
"env_extra": self.env_extra,
"env_extra": self.env_extra,
}
def scale(self, n_jobs, sge_job_spec_key="default"):
@@ -440,7 +444,13 @@ class SchedulerResourceRestriction(Scheduler):
"""
def __init__(self, *args, **kwargs):
super(SchedulerResourceRestriction, self).__init__(*args, **kwargs)
super(SchedulerResourceRestriction, self).__init__(
idle_timeout=3600,
allowed_failures=500,
synchronize_worker_interval="240s",
*args,
**kwargs,
)
self.handlers[
"get_no_worker_tasks_resource_restrictions"
] = self.get_no_worker_tasks_resource_restrictions
Loading