Why can't you just use a gen_server with an asynchronous callback?
create your gen server, when you need your background processing, use send_event/2 on it and then let it rip... your main process need only have a receive loop in it somewhere and that should do it.
Otherwise if it is a *big* requirement you might use boss_mq as a simple work queue but again the same principle will apply. And there there is RabbitMQ for the big jobs. I love Rabbit! Even as a vegetarian. :)
Is this is response to a web request though??? That could be interesting because you would either have to use a keep-alive (web socket) or once processing is complete, use a POST back to the caller but then the caller needs to be listening for it which means tagging each request with a unique ID etc etc
I like being a systems architect! ROFLCOPTER etc.
Hope that helps a bit... ask more detailed questions if you like.
Sean.