示例#1
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')
示例#2
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')
示例#3
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')
示例#4
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')