Example #1
0

@task
def add_two(y):
    return y + 1


with Flow("Flow 2") as flow_2:
    new_num2 = add_one(add_num)

combo_fl = Flow("Add Numbers")

combo_fl.update(flow_1)
combo_fl.update(flow_2, validate=True)

combo_fl.visualize()

# @task
# def return_list():
#     return 1
# @task
# def add_one(x):
#     return x + 1

# @task
# def divide_num(x):
#     return x/2

# @task
# def mul_num
Example #2
0
We run our flow on a 1 minute interval schedule and observe that the output of
`return_random_number` only changes every other run, due to output caching.
"""
import datetime
import random

from prefect import Flow, task
from prefect.schedules import IntervalSchedule


@task(cache_for=datetime.timedelta(minutes=1, seconds=30))
def return_random_number():
    return random.random()


@task
def print_number(num):
    print("=" * 50)
    print("Value: {}".format(num))
    print("=" * 50)


schedule = IntervalSchedule(start_date=datetime.datetime.utcnow(),
                            interval=datetime.timedelta(minutes=1))

flow = Flow("cached-task", schedule=schedule)
flow.set_dependencies(task=print_number, upstream_tasks=[return_random_number])

flow.visualize(format='png', filename=__file__.replace('.py', ''))
Example #3
0
        return n * 10


class Divide(Task):
    def run(self, n):
        return n / 10


class OutputValue(Task):
    def run(self, value):
        print(value)


flow = Flow("branches")

n = GetNumber()

m = Multiply()
d = Divide()

m.set_upstream(n, key="n", flow=flow)
d.set_upstream(n, key="n", flow=flow)

output_1 = OutputValue()
output_2 = OutputValue()

output_1.set_upstream(m, key="value", flow=flow)
output_2.set_upstream(d, key="value", flow=flow)

flow.visualize()
Example #4
0
composeAllGraphsCollapsed = TBD()
# writes graph to pics
drawGraph = TBD()

# %% SET DEPENDENCIES in flow_deck_graph
# flow_deck_graph.set_dependencies(
# )

deck_slug = None
run_full_flow = True
run_scrapy_crawl = False
run_mtgmetaio_landind_to_deks = False
if __name__ == "__main__":

    if deck_slug:
        flow_deck_graph.visualize()
        flow_state = flow_deck_graph.run()
        flow_full_data_pipeline.visualize(flow_state=flow_state)

    if run_full_flow:
        flow_full_data_pipeline.visualize()
        flow_state = flow_full_data_pipeline.run()
        flow_full_data_pipeline.visualize(flow_state=flow_state)

    if run_scrapy_crawl:
        flow_scrapy_crawl.visualize()
        flow_state = flow_scrapy_crawl.run()
        flow_scrapy_crawl.visualize(flow_state=flow_state)

    if run_mtgmetaio_landind_to_deks:
        flow_landing_to_decks = get_flow_landing_to_decks(for_urls=[])