1
我有一个序列化程序,因为我已经重写了validate
方法。Django rest框架并行执行很多= True字段数据
class ProcessItemSerializer(serializers.Serializer):
field1 = serializers.CharField(max_length=63)
# Few more fields
def validate(self, data):
# few data processing and HTTP calls
return data
我有使用上面作为串行字段many=True
class DataSerializer(serializers.Serializer):
items = ProcessItemSerializer(many=True)
如果我通过项的数据以DataSerializer
列表它将处理逐个每个项目另一个串行器。这是可取的!
但是如果物品的长度超过100则需要很多时间。我想要的是使用python-multiprocess并行执行20-20个项目集,以便减少总体时间。
我该如何在DRF中做到这一点。我必须重写什么方法?
这不是一个微不足道的任务。你能解释一下你正在做什么类型的验证?优化它会容易得多,而不是尝试任何形式的分布式处理。 –
使用IO处理多处理并不是一个好主意,你应该使用协同(gevent) – hadi
正确地提到@hadi,你的验证是I/O绑定的,所以多处理不会帮你太多。 –