Esempio n. 1
0
 def _create_one(self):
     t = random.uniform(self.sleep_range[0], self.sleep_range[1])
     task = Task.create(
         "sleep {t}; echo '{{\"t\": {t}}}' > _output.json".format(t=t), {
             "foo": "test",
             "bar": 123
         })
     self.ps_count += 1
     self.num_running += 1
     self.num_todo -= 1
     task.add_callback(self._on_task_finished)
Esempio n. 2
0
 def test_find(self):
     tasks = [Task.create("echo %d" % i) for i in range(10)]
     self.assertEqual(Task.find(5).id, 5)
     self.assertEqual(Task.find(5), tasks[5])
Esempio n. 3
0
 def test_all(self):
     tasks = [Task.create("echo %d" % i) for i in range(10)]
     self.assertEqual(Task.all(), tasks)
Esempio n. 4
0
 def test_create(self):
     for i in range(10):
         t = Task.create("echo %d" % i)
         self.assertEqual(t.id, i)
         self.assertEqual(t.is_finished(), False)
     self.assertEqual(len(Task.all()), 10)
Esempio n. 5
0
 def _create_one(self):
     t = self._t()
     Task.create("sleep {t}".format(t=t))
Esempio n. 6
0
import sys
from caravan.server import Server
from caravan.task import Task

if len(sys.argv) != 2:
    sys.stderr.write("Usage: python <command_file_path>\n")
    raise RuntimeError("invalid number of arguments")

with Server.start():
    with open(sys.argv[1]) as f:
        for line in f:
            Task.create(line.rstrip())

sys.stderr.write("DONE\n")
Esempio n. 7
0
import sys
from caravan.server import Server
from caravan.task import Task
from caravan.server_stub import start_stub


def stub_sim(task):
    t = 1 + task.id() % 3
    return ({}, t)


with start_stub(stub_sim, num_proc=4):
    tasks1 = [Task.create(f"sleep {1+i%3}") for i in range(5)]
    Server.await_all_tasks(
        tasks1)  # this method blocks until all the tasks are finished
    print("all running tasks are complete!")
    for t in tasks1:
        print(
            f"task ID:{t.id()}, rc:{t.rc()}, rank:{t.rank()}, {t.start_at()}-{t.finish_at()}"
        )
Esempio n. 8
0
 def _create_one(self):
     t = self._t()
     task = Task.create("sleep {t}".format(t=t))
     if self.n < self.num_jobs:
         task.add_callback(lambda t: self._create_one() )
         self.n += 1
Esempio n. 9
0
 def _create_one(self):
     t = random.uniform(self.sleep_range[0], self.sleep_range[1])
     task = Task.create("sleep {t}".format(t=t))
     self.task_count += 1
     self.num_running += 1
     task.add_callback(self._on_ps_finished)