Example #1
0
def test_grouping():
    result = group(add.s(i, i) for i in range(10, 20))().get()
    print(result)

    result = chain(add.s(2, 2) | mul.s((4)))().get()
    print(result)

    result = chord((mul.s(i, i) for i in range(10)), xsum.s())().get()
    print(result)

    result = (group(mul.s(i, i) for i in range(10)) | xsum.s())().get()
    print(result)
Example #2
0
def test_group_results():
    job = group([
        add.s(2, 4),
        mul.s(4, 9),
        xsum.s([2, 3, 5]),
    ])
    result = job.apply_async()
    print(result.ready())
    print(result.successful())
    print(result.join())
    print(result.get())
Example #3
0
from tasks import add, mul, build_insight
from celery import chain

res = (add.s(4, 4) | mul.s(4)).apply_async()
# build_insight.delay()

# raise exception still can run
# res = (
#     group(
#         (add.s(4, 4) | mul.s(2)), # 16
#         (add.s(5, 4) | mul.s(3)), # 27
#         (add.s(5, 5) | mul.s(4))  # 40
#     )
#     | xsum.s() # 83
# )
# res.apply_async()

# raise exception still can run, and call handle error function
res = (
    group(
        (add.s(4, 4) | mul.s(2)),  # 16
        (add.s(5, 4) | mul.s(3)),  # 27
        (add.s(5, 5) | mul.s(4))  # 40
    )
    | xsum.s()  # 83
)
res.apply_async(link_error=report_error())

# raise exception then it's run forever
# res = (
#     group(
#         (add.s(4, 4) | mul.s(2)), # 16
#         (add.s(5, 4) | mul.s(3)), # 27
#         (add.s(5, 5) | mul.s(4))  # 40
#     )
#     | xsum.s() # 83
Example #5
0
def test_complex_chord():
    result = chord(mul.s(i, i) for i in range(100))(xsum.s()).get()
    print(result)
Example #6
0
def test_linking():
    result = add.apply_async((2, 2), link=mul.s(5))
    print(result.get())
    print(list(result.collect()))