Trato de evitar agregar dependencias a RQ, prefiriendo mantenerlo ligero. Sin embargo, podemos respaldarlo agregando un argumento serializer
. Así por ejemplo:
queue = Queue('default', connection=redis, serializer=DillSerializer)
Este objeto Serializer
tendría métodos serialize
y deserialize
que se llamarán al escribir o leer desde Redis.
¿Qué piensas?
Tienes razón, probablemente sea mejor proporcionarlo como argumento.
Sin embargo, sería bueno usar las funciones convencionales de nivel de módulo dumps
/ loads
. De esta manera, podría simplemente pasar el módulo en sí mismo sin código adicional:
import dill
queue = Queue('default', connection=redis, serializer=dill)
Eso suena como una buena idea. Por favor, siéntase libre de abrir un PR para esto :).
¿Se admite marshmallow para rq redis-configs o params de trabajo/trabajador?
ha habido algún progreso en esto? Si no, ¿por dónde debería empezar uno? ¿Solo busque llamadas para encurtir y use el serializador configurado en su lugar?
No ha habido actividad en torno a este problema. La mayoría de los cambios deberían ocurrir alrededor de job.restore() y job.to_dict() .
Aparte de eso, los objetos Queue
y Worker
también deben saber qué serializador deben usar.
Abrió el número 1141 como un enfoque potencial para esto.
Comentario más útil
Tienes razón, probablemente sea mejor proporcionarlo como argumento.
Sin embargo, sería bueno usar las funciones convencionales de nivel de módulo
dumps
/loads
. De esta manera, podría simplemente pasar el módulo en sí mismo sin código adicional: