¿Cómo mantener un contexto de solicitud en una tarea de apio, en Python Flask?

¿Hay una manera de copiar la solicitud a una tarea de apio en el matraz de tal manera que la tarea se ejecute dentro del contexto de solicitud que inició la tarea?
Necesito acceder al usuario actual de seguridad del matraz en una tarea de apio, pero como la tarea está fuera del contexto de la solicitud, no puedo hacer eso. Necesito información adicional de la solicitud, por lo que simplemente reenviar al usuario actual a la tarea no funcionaría.

Mi tarea hace inserciones en la base de datos. Necesita que el usuario actual guarde la identificación del usuario que crea la fila. Pasar el objeto de usuario a la tarea resolvería el problema. Sin embargo, la lógica de la aplicación es tal que cada inserción / eliminación / actualización se registra antes del evento flush, que registra al usuario que realizó la modificación, su IP, url original, los datos que inserta …)

El evento de registro se realiza como dije antes de vaciar, y funciona en escenarios del 99%. Pero cuando tengo una tarea larga que quiero que sea una tarea de apio, los datos de solicitud no están disponibles, ni el usuario actual (ya que está fuera del contexto de la solicitud original)

No es una forma inmediata para pasar la solicitud o los objetos current_user a la tarea de apio, ya que no son serializables. Pero la gente ha resuelto esto al crear una envoltura para llamar a la tarea de apio en el contexto de la solicitud.

La tarea de apio en una publicación de contexto de solicitud de matraz explora este tema en detalle. Las ideas de Xion y las derivadas de aviaryan con el contenedor de contexto de solicitud.