Beispiel #1
0

# base logika - najprej reset baze, pol dodamo domene in zacetne page na teh domenah v bazo, pol pa nardimo threadpool
reset_database()

for i in range(1, 4):
	print(i)
	site_id = get_site_id(domains[i]) # ustvarimo nov site za trenutno domeno

	# mormo se dodat frontpage te domene v tabelo page in frontier
	page_object = {}
	page_object['site_id'] = site_id
	page_object['url'] = urls[i]
	put_empty_page_in_db(page_object)
	frontier.add_site(domains[i])
	frontier.add_page(urls[i], domains[i])

# za single thread nej se spodnjo vrstico odkomentira, za multithread pa spodnji block
#worker_loop(0)

args = sys.argv
if len(args) >= 2:
	worker_count = int(args[1])
else:
	worker_count = 16

with concurrent.futures.ThreadPoolExecutor(max_workers=worker_count) as executor:
	print(f"\n ... executing workers ...\n")
	for i in range(worker_count):
		executor.submit(worker_loop, i)
		time.sleep(10)