コード例 #1
0
ファイル: run_concurrent_test.py プロジェクト: zjjott/couler
 def test_run_concurrent_same_name(self):
     couler.concurrent([
         lambda: whalesay("hello1"),
         lambda: whalesay("hello1"),
         lambda: tails(),
     ])
     self.verify_concurrent_step("run_concurrent_golden_2.yaml")
コード例 #2
0
ファイル: run_concurrent_test.py プロジェクト: zjjott/couler
 def test_run_concurrent_callable(self):
     callable_cls = self.create_callable_cls(lambda: whalesay("hello1"))
     func_names = ["a", "b", "c", "self"]
     instance = callable_cls()
     for func_name in func_names:
         if func_name == "self":
             func = instance
         else:
             func = getattr(instance, func_name)
         couler.concurrent([func, lambda: heads(), lambda: tails()])
         self.verify_concurrent_step("run_concurrent_golden.yaml")
         couler._cleanup()
コード例 #3
0
ファイル: run_concurrent_test.py プロジェクト: zjjott/couler
    def test_run_concurrent_recursive(self):
        def workflow_one():
            whalesay("workflow one")
            whalesay("t1")
            whalesay("t2")

        def workflow_two():
            whalesay("workflow two")

        whalesay("workflow start")
        couler.concurrent([lambda: workflow_one(), lambda: workflow_two()],
                          subtasks=True)
        whalesay("workflow finish")
        self.check_argo_yaml("run_concurrent_subtasks_golden.yaml")
コード例 #4
0
ファイル: run_concurrent_test.py プロジェクト: zjjott/couler
    def test_concurrent_with_output(self):
        def job_one():
            output_place = couler.create_parameter_artifact(
                path="/tmp/job_one.txt")
            return couler.run_container(
                image="python:3.6",
                args="echo -n step one > %s" % output_place.path,
                output=output_place,
            )

        def job_two():
            output_place = couler.create_parameter_artifact(
                path="/tmp/job_two.txt")
            return couler.run_container(
                image="python:3.6",
                args="echo -n step two > %s" % output_place.path,
                output=output_place,
            )

        def summary(messages):
            couler.run_container(image="docker/whalesay",
                                 command="cowsay",
                                 args=messages)

        rets = couler.concurrent([lambda: job_one(), lambda: job_two()])
        messages = [rets[0][0], rets[1][0]]
        summary(messages)
        self.verify_concurrent_step("run_concurrent_golden_3.yaml")
コード例 #5
0
ファイル: run_concurrent_test.py プロジェクト: zjjott/couler
 def test_run_concurrent(self):
     couler.concurrent(
         [lambda: whalesay("hello1"), lambda: heads(), lambda: tails()])
     self.verify_concurrent_step("run_concurrent_golden.yaml")