I have a object with a couple of methods. One method includes a bunch of nested if-statements, for which i want to return certain values. The method is called within a for loop in an external .py-file. Problem is, that the return values never arrive in the external file, so that i am not able to work with the returned value.
The for loop and therefore also the method call is within a celery task, because this i a long running task on a web application (flask)
tasks.py
@celery.task
def LongRunningTask(foo, bar, ...):
instance = Object(foo, bar, ...)
list_containing_elems = [....]
variable1 = 0
variable2 = 0
for elem in list_containing_elems:
instance.method(foo, variable1, variable2)
print(f"Here should the returned {variable1} and {variable2} be displayed")
object.py
class Object():
def __init__(self, ...):
[...]
def method(self, foo, variable1, variable2):
[...]
if statement1:
[...]
if statement2:
[...]
if statement3:
[...]
variable1 += 1
return variable1
else:
[...]
variable2 += 1
return variable2
else:
[...]
else:
[...]
I would expect, that the returned (and incremented) variable will get passed to the tasks.py print statement - but that is not the case.
I'm really stucked,...maybe due to the warm wheather outside.
Does anyone mayhaps has an idea?