encoder#
encoder specifies how tasks will be serialized and compressed.
Definition#
1 2 3 4 5 6  |  | 
The compressor parameter specifies the type of compressor. Each task is compressed before being pushed to the queue. Brokers can reduce storage/memory usage by using compressor. Tasks with a lot of parameters or data can quickly take up a lot of memory. Due to the compression algorithm being a CPU intensive operation, using a compressor would negatively impact task pushing/pulling.
You can choose from the following compressors:
None[default] - No compression is appliedbzip2gziplzmazlib
The serializer type is defined by the serializer parameter. Whenever a task is pushed to the queue, it should be serialized so the broker can save it as a byte array. Because each serialization algorithm has some limitations, it is critical to choose the right serialization algorithm.
These serializers are available:
pickle[default]:- Pros: fast, native, supports many data types.
 - Cons: insecure (allows arbitrary code to run), non-portable, might deceive into thinking parameters are serialized correctly but finding a broken object upon deserialization.
 
msgpack- Pros: fast, portable, and secure.
 - Cons: fewer data types are supported.
 
Any combination of compressor and serializer can be made to suit your needs.
Examples#
1 2 3 4  |  | 
1 2 3 4  |  | 
1 2 3 4  |  |