Let us again go and distribute our multiple inputs in order to calculate the nth Fibonacci term, each of them in a distributed way. The function that calculates Fibonacci will change a little in relation to the previous chapters. The changes are small; now we have the @app.task
decorator and a small change in the return message.
In the tasks.py
module (created previously), which is in the server machine where also the broker is, we will stop the execution of Celery (Ctrl + C) and add the fibo_task
task. This is done by using the following code:
@app.task def fibo_task(value): a, b = 0,1 for item in range(value): a, b = b, a + b message = "The Fibonacci calculated with task id %s" \ " was %d" % (fibo_task.request.id, a) Return (value, message)
A point to observe is that we obtain the ID of the task with the <task.request.id>
call. The request
object is an object in the task
class, which provides a context to...