我有一个包含大量文本文件的文件夹列表。这些文件里面是链接。
使用这些链接中的每一个,我将需要获取一个网页,对其进行解析,并根据其中的内容 - 将 JPG 文件保存到与包含提供链接的文本文件的文件夹名称相对应的文件夹中。
现在要注意的是,其中有很多文本文件,甚至还有更多链接。我在想多线程连接和解析网页的过程可能不是一个坏主意。
所以我会有这样的事情:
directories.each do |directory|
...
all_files_in_directory.each do |file|
...
all_urls_in_file do |url|
# check if there's any threads that aren't busy
# make a thread go out to the url and parse it
end
end
end
如果可能的话,我有点不确定如何做到这一点 - 我似乎无法找到一种方法让线程只是挂出,直到我告诉他们 some_method() 执行。就好像一个线程所做的事情是在创建时分配给它的,并且无法更改。
所以基本上我希望脚本能够连接和解析,比如说,5个批次而不是1个批次。
这可行吗?如果可行,你将如何解决这个问题?