示例#1
0
文件: test_03.py 项目: babbel/floto
def test_03():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    a1 = ActivityTask(domain=domain, name='activity1', version='v5', retry_strategy=rs) 
    a2 = ActivityTask(domain=domain, name='activity2', version='v4', retry_strategy=rs) 

    decider_spec = DeciderSpec(domain=domain,
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[a1, a2],
                               default_activity_task_list='floto_activities',
                               terminate_decider_after_completion=True)

    decider = floto.decider.Decider(decider_spec=decider_spec.to_json())

    workflow_args = {'domain':decider_spec.domain,
                     'workflow_type_name':'my_workflow_type',
                     'workflow_type_version':'v1',
                     'task_list':decider_spec.task_list,
                     'input':{'foo':'bar'}}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30*'-'+' Running Test 03 '+30*'-')
    decider.run()
    print(30*'-'+' Done Test 03    '+30*'-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')    
示例#2
0
文件: test_11.py 项目: babbel/floto
def test_11():
    domain = 'floto_test'
    rs = InstantRetry(retries=2)
    activity_task_1 = ActivityTask(domain=domain, name='activity1', version='v5', 
                                   retry_strategy=rs)

    decider_spec = DeciderSpec(domain=domain,
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[activity_task_1],
                               default_activity_task_list='floto_activities',
                               terminate_decider_after_completion=True)

    decider = SlowDecider(decider_spec)

    response = floto.api.Swf().start_workflow_execution(domain='floto_test', 
                                   workflow_type_name='decider_timeout_workflow',
                                   workflow_type_version='v1',
                                   task_list=decider_spec.task_list,
                                   input={'foo':'bar'})
    run_id = response['runId']
    workflow_id = 'decider_timeout_workflow_v1' 

    print(30*'-'+' Running Test 11 '+30*'-')
    decider.run()
    print(30*'-'+' Done Test 11    '+30*'-')
    return get_result('floto_test', run_id, workflow_id)    
示例#3
0
def test_01():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task_1 = ActivityTask(domain=domain,
                                   name='activity1',
                                   version='v5',
                                   retry_strategy=rs)
    decider_spec = DeciderSpec(domain=domain,
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[activity_task_1],
                               default_activity_task_list='floto_activities',
                               terminate_decider_after_completion=True)

    decider = floto.decider.Decider(decider_spec=decider_spec)

    response = floto.api.Swf().start_workflow_execution(
        domain='floto_test',
        workflow_type_name='my_workflow_type',
        workflow_type_version='v1',
        task_list=decider_spec.task_list,
        input={'foo': 'bar'})
    run_id = response['runId']
    workflow_id = 'my_workflow_type_v1'

    print(30 * '-' + ' Running Test 01 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 01    ' + 30 * '-')
    return get_result('floto_test', run_id, workflow_id)
示例#4
0
文件: test_08.py 项目: babbel/floto
def test_08():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task_1 = floto.specs.task.ActivityTask(domain=domain, name='activity1', version='v5', 
            retry_strategy=rs)

    decider_spec = floto.specs.DeciderSpec(domain=domain,
                                           task_list=str(uuid.uuid4()),
                                           activity_tasks=[activity_task_1],
                                           default_activity_task_list='floto_activities',
                                           repeat_workflow=True)

    decider = DeciderEarlyExit(repetitions=2, decider_spec=decider_spec)

    workflow_args = {'domain': decider_spec.domain,
                     'workflow_type_name': 'my_workflow_type',
                     'workflow_type_version': 'v1',
                     'task_list': decider_spec.task_list,
                     'input': {'foo': 'bar'}}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 08 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 08    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#5
0
def test_07():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    timer_a = floto.specs.task.Timer(id_='TimerA', delay_in_seconds=15)
    task_1 = floto.specs.task.ActivityTask(domain=domain, name='activity1', version='v5', 
                                           retry_strategy=rs)
    timer_b = floto.specs.task.Timer(id_='TimerB', delay_in_seconds=5, 
                                     requires=[task_1.id_])
    task_2 = floto.specs.task.ActivityTask(domain=domain, name='activity2', version='v4', 
                                           requires=[timer_b.id_], retry_strategy=rs)

    decider_spec = floto.specs.DeciderSpec(domain=domain,
                                           task_list=str(uuid.uuid4()),
                                           activity_tasks=[timer_a,
                                                           timer_b,
                                                           task_1,
                                                           task_2],
                                           default_activity_task_list='floto_activities',
                                           terminate_decider_after_completion=True)

    decider = floto.decider.Decider(decider_spec=decider_spec)

    workflow_args = {'domain': decider_spec.domain,
                     'workflow_type_name': 'my_workflow_type',
                     'workflow_type_version': 'v1',
                     'task_list': decider_spec.task_list,
                     'input': {'foo': 'bar'}}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 07 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 07    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#6
0
def test_02():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task = ActivityTask(domain=domain,
                                 name='activity2',
                                 version='v4',
                                 retry_strategy=rs)
    decider_spec = DeciderSpec(domain=domain,
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[activity_task],
                               default_activity_task_list='floto_activities',
                               terminate_decider_after_completion=True)

    decider = floto.decider.Decider(decider_spec=decider_spec)

    workflow_args = {
        'domain': decider_spec.domain,
        'workflow_type_name': 'my_workflow_type',
        'workflow_type_version': 'v1',
        'task_list': decider_spec.task_list
    }

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 02 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 02    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#7
0
def test_08():
    domain = 'floto_test'
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task_1 = floto.specs.task.ActivityTask(domain=domain,
                                                    name='activity1',
                                                    version='v5',
                                                    retry_strategy=rs)

    decider_spec = floto.specs.DeciderSpec(
        domain=domain,
        task_list=str(uuid.uuid4()),
        activity_tasks=[activity_task_1],
        default_activity_task_list='floto_activities',
        repeat_workflow=True)

    decider = DeciderEarlyExit(repetitions=2, decider_spec=decider_spec)

    workflow_args = {
        'domain': decider_spec.domain,
        'workflow_type_name': 'my_workflow_type',
        'workflow_type_version': 'v1',
        'task_list': decider_spec.task_list,
        'input': {
            'foo': 'bar'
        }
    }

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 08 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 08    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#8
0
def test_09():
    rs = InstantRetry(retries=10)
    rs_2 = InstantRetry(retries=2)

    task_1 = ActivityTask(name='activity1', version='v5', retry_strategy=rs_2)
    task_failes_3 = ActivityTask(name='activity_fails_3', version='v2', retry_strategy=rs)
    timer_a = Timer(id_='TimerA', delay_in_seconds=15)

    timer_b = Timer(id_='TimerB', delay_in_seconds=3, requires=[task_1])
    task_2 = ActivityTask(name='activity2', version='v4', requires=[timer_b], retry_strategy=rs_2)
    task_4 = ActivityTask(name='activity4', version='v2', requires=[task_1, task_2],
                          retry_strategy=rs_2)

    tasks = [task_1, task_failes_3, timer_a, timer_b, task_2, task_4]

    decider_spec = DeciderSpec(domain='floto_test',
                               task_list=str(uuid.uuid4()),
                               activity_tasks=tasks,
                               activity_task_list='floto_activities',
                               repeat_workflow=True)

    decider = DeciderEarlyExit(repetitions=2, decider_spec=decider_spec)

    workflow_args = {'domain': decider_spec.domain,
                     'workflow_type_name': 'my_workflow_type',
                     'workflow_type_version': 'v1',
                     'task_list': decider_spec.task_list,
                     'input': {'foo': 'bar'}}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 09 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 09    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#9
0
def test_09():
    domain = 'floto_test'
    rs = InstantRetry(retries=10)
    rs_2 = InstantRetry(retries=2)

    task_1 = ActivityTask(domain=domain,
                          name='activity1',
                          version='v5',
                          retry_strategy=rs_2)
    task_failes_3 = ActivityTask(domain=domain,
                                 name='activity_fails_3',
                                 version='v2',
                                 retry_strategy=rs)
    timer_a = Timer(id_='TimerA', delay_in_seconds=15)

    timer_b = Timer(id_='TimerB', delay_in_seconds=3, requires=[task_1.id_])
    task_2 = ActivityTask(domain=domain,
                          name='activity2',
                          version='v4',
                          requires=[timer_b.id_],
                          retry_strategy=rs_2)
    task_4 = ActivityTask(domain=domain,
                          name='activity4',
                          version='v2',
                          requires=[task_1.id_, task_2.id_],
                          retry_strategy=rs_2)

    tasks = [task_1, task_failes_3, timer_a, timer_b, task_2, task_4]

    decider_spec = DeciderSpec(domain=domain,
                               task_list=str(uuid.uuid4()),
                               activity_tasks=tasks,
                               default_activity_task_list='floto_activities',
                               repeat_workflow=True)

    decider = DeciderEarlyExit(repetitions=2, decider_spec=decider_spec)

    workflow_args = {
        'domain': decider_spec.domain,
        'workflow_type_name': 'my_workflow_type',
        'workflow_type_version': 'v1',
        'task_list': decider_spec.task_list,
        'input': {
            'foo': 'bar'
        }
    }

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30 * '-' + ' Running Test 09 ' + 30 * '-')
    decider.run()
    print(30 * '-' + ' Done Test 09    ' + 30 * '-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')
示例#10
0
def test_14():
    decider_workflow = floto.decider.Decider(decider_spec=decider_spec_workflow())
    decider_child_workflow = floto.decider.Decider(decider_spec=decider_spec_child_workflow())

    workflow_args = {'domain': decider_workflow.domain,
                     'workflow_type_name': 'my_workflow_type',
                     'workflow_type_version': 'v1',
                     'task_list': decider_workflow.task_list}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)
    run_id = response['runId']
    workflow_id = 'my_workflow_type_v1'

    print(30 * '-' + ' Running Test 14 ' + 30 * '-')
    decider_child_workflow.run(separate_process=True)
    decider_workflow.run()
    result = get_result(decider_workflow.domain, run_id, workflow_id)
    print(30 * '-' + ' Done Test 14    ' + 30 * '-')

    return result
示例#11
0
def test_15():
    decider_workflow = floto.decider.Decider(decider_spec=decider_spec_workflow())
    decider_child_workflow = floto.decider.Decider(decider_spec=decider_spec_child_workflow())

    workflow_args = {'domain': decider_workflow.domain,
                     'workflow_type_name': 'my_workflow_type',
                     'workflow_type_version': 'v1',
                     'task_list': decider_workflow.task_list,
                     'input':{'foo':'bar'}}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)
    run_id = response['runId']
    workflow_id = 'my_workflow_type_v1'

    print(30 * '-' + ' Running Test 15 ' + 30 * '-')
    decider_child_workflow.run(separate_process=True)
    decider_workflow.run()
    result = get_result(decider_workflow.domain, run_id, workflow_id)
    print(30 * '-' + ' Done Test 15    ' + 30 * '-')

    return result
示例#12
0
def test_02():
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task = ActivityTask(name='activity2', version='v4', retry_strategy=rs) 
    decider_spec = DeciderSpec(domain='floto_test',
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[activity_task],
                               activity_task_list='floto_activities')

    decider = floto.decider.Decider(decider_spec=decider_spec)

    workflow_args = {'domain':decider_spec.domain,
                     'workflow_type_name':'my_workflow_type',
                     'workflow_type_version':'v1',
                     'task_list':decider_spec.task_list}

    response = floto.api.Swf().start_workflow_execution(**workflow_args)

    print(30*'-'+' Running Test 02 '+30*'-')
    decider.run()
    print(30*'-'+' Done Test 02    '+30*'-')
    return get_result(decider.domain, response['runId'], 'my_workflow_type_v1')    
示例#13
0
文件: test_14.py 项目: babbel/floto
def test_14():
    decider_workflow = floto.decider.Decider(decider_spec=decider_spec_workflow())
    decider_child_workflow = floto.decider.Decider(decider_spec=decider_spec_child_workflow())

    workflow_args = {
        "domain": decider_workflow.domain,
        "workflow_type_name": "my_workflow_type",
        "workflow_type_version": "v1",
        "task_list": decider_workflow.task_list,
    }

    response = floto.api.Swf().start_workflow_execution(**workflow_args)
    run_id = response["runId"]
    workflow_id = "my_workflow_type_v1"

    print(30 * "-" + " Running Test 14 " + 30 * "-")
    decider_child_workflow.run(separate_process=True)
    decider_workflow.run()
    result = get_result(decider_workflow.domain, run_id, workflow_id)
    print(30 * "-" + " Done Test 14    " + 30 * "-")

    return result
示例#14
0
def test_01():
    rs = floto.specs.retry_strategy.InstantRetry(retries=2)
    activity_task_1 = ActivityTask(name='activity1', version='v5', retry_strategy=rs) 
    decider_spec = DeciderSpec(domain='floto_test',
                               task_list=str(uuid.uuid4()),
                               activity_tasks=[activity_task_1],
                               activity_task_list='floto_activities')

    decider = floto.decider.Decider(decider_spec=decider_spec)

    response = floto.api.Swf().start_workflow_execution(domain='floto_test', 
                                   workflow_type_name='my_workflow_type',
                                   workflow_type_version='v1',
                                   task_list=decider_spec.task_list,
                                   input={'foo':'bar'})
    run_id = response['runId']
    workflow_id = 'my_workflow_type_v1'

    print(30*'-'+' Running Test 01 '+30*'-')
    decider.run()
    print(30*'-'+' Done Test 01    '+30*'-')
    return get_result('floto_test', run_id, workflow_id)