目前,有一个Python项目使用gevent
将执行套接字调用的任务提交给我们的一个计算资源。python程序生成近1000个对象的请求并并发执行它们。当它接收到请求(固定宽度的字符串流)时,它会将输出直接写入一个文件,并在收到任务结果时附加到此文件。这样可以降低内存开销,并尽可能快地移动对象。你知道吗
现在,与所有项目一样,引入了一个新的需求。Python解决方案需要对文件中的数据进行排序。更复杂的是,输出文件的宽度是固定的,在Python中对其进行切片/排序将是太多的一次性工作。你知道吗
有没有这样一种模式:gevent
可以并行执行任务列表,但以某种方式保持结果在列表中提交的顺序不变?我必须记住,返回的结果是相当大的,我正在努力保持尽可能低的内存需求。你知道吗
这是一个非常简单的方法,但可能会在您概述的约束范围内工作。但是,它不直接使用gevent。你知道吗
将每个任务的输出写入一个临时文件,该文件根据任务的id(顺序)命名。完成所有任务后,按顺序读取文件,并将每个文件的内容附加到最终输出文件中。因此,在任何给定的时间,只有一个任务输出的内容在内存中。你知道吗
相关问题 更多 >
编程相关推荐