0
我已经构建了一个无限循环运行的刮板。它还在10台以上的AWS机器上使用代理池。我想让它看起来像是一次IP碰到X次,那么它不应该再次被击中,到目前为止,我用MySQL来达到目的。问题是,如果所有代理完成配额,如何让它睡眠或延迟,并在新的一天获得新的生命。现在我没下,但最终它会终止整个程序:Python:如果某个条件满足,如何杀死或睡眠一个进程?
def parse():
if random_proxy == '': # ALL Proxies finished quota for the day
raise Exception('Proxy Not Found')
r = session.get(u, headers=headers, proxies={'https': proxy_url})
if __name__ == '__main__':
idx = 0
exception_string = ''
POOL_COUNT = 50
try:
if conn is not None:
links = get_links(conn, POOL_COUNT)
if conn.open:
conn.close()
with Pool(POOL_COUNT) as p:
result = p.map(parse, links)
except Exception as ex:
print('Main program exception')
阅读[同步原语](https://docs.python.org/3.6/library/multiprocessing.html#synchronization-primitives) – stovfl