Separating celery consumer and producer
You can use Celery's send_task function to send the task through RabbitMQ to the worker using the task name. You still need to import the module that you have the celery app in:
If the task is not registered in the current process you can use send_task() to call the task by name instead.
Example:
from yourmodule.yourapp import celerycelery.send_task("yourtasksmodule.yourtask", args=["Hello World"])