Exemplo n.º 1
0
        "echo Soy Berlin > f2.txt; cat workflow://Tokio/f1.txt >> f2.txt",
        "ubuntu")

    # The task c
    taskC = DockerTask(
        "Nairobi",
        "echo Soy Nairobi > f2.txt; cat workflow://Tokio/f1.txt >> f2.txt",
        "ubuntu")

    # The task d
    taskD = DockerTask(
        "Mosco",
        "cat workflow://Berlin/f2.txt workflow://Nairobi/f2.txt > f3.txt",
        "ubuntu")

    # add tasks to the workflow
    workflow.add_task(taskA)
    workflow.add_task(taskB)
    workflow.add_task(taskC)
    workflow.add_task(taskD)

    workflow.make_dependencies()

    jsonWorkflow = workflow.asJson()
    with open('dataflow-demo-docker.json', 'w') as outfile:
        stringWorkflow = json.dumps(jsonWorkflow, sort_keys=True, indent=2)
        outfile.write(stringWorkflow)

    # run the workflow
    workflow.run()
Exemplo n.º 2
0
            # The task g
            taskG = DagonTask(
                TaskType.BATCH, "G",
                "cat workflow:///F/f2.txt >> f3.txt; cat workflow://wf1-transversal-demo/C/f2.txt >> f3.txt"
            )

            # add tasks to the workflow 2
            workflow2.add_task(taskE)
            workflow2.add_task(taskF)
            workflow2.add_task(taskG)

            workflow2.make_dependencies()
            break
        except Exception as exe:
            logging.debug(exe)
            time.sleep(1)  #if the transversal workflow does not exist

    # run the workflow
    workflow2.run()

    # if workflow.get_dry() is False:
    #     # set the result filename
    #     result_filename = taskD.get_scratch_dir() + "/f3.txt"
    #     while not os.path.exists(result_filename):
    #         time.sleep(1)

    #     # get the results
    #     with open(result_filename, "r") as infile:
    #         result = infile.readlines()
    #         print result