To run this MUTATE
task, an instance of Call
must be passed to queue. I suppose your Call, containing fancy methods such as __throwaway_service
hardly is pickable. So you'd have to redesign your task, reconstructing self
object in a task and applying original MUTATE
afterwards.
Also, you might find this reciepe useful to find out what exactly object can't be pickled.
update
Is this pattern applicable:
@celery.task
def mutate(service_settings, operations):
service = Service(**service_settings)
return service.mutate(operations)