worker die

This commit is contained in:
Andreas Stephanides
2017-02-15 13:53:37 +01:00
parent 49ac42b9a5
commit eb071d9f95
2 changed files with 28 additions and 16 deletions

View File

@@ -82,4 +82,5 @@ def do_process(tpe, cont,params={}):
if a.has_key("url")==False:
a["url"]=cont["url"]
process_article(a)
db_session.remove()
return

View File

@@ -7,7 +7,9 @@ from gevent import spawn
from itertools import repeat
from models import CrawlUrl
from src import clogger
from Queue import Empty
from src.database import db_session2
def start_workers(f,c,p):
for _ in range(f):
clogger.debug("spawn fetchworker")
@@ -18,15 +20,25 @@ def start_workers(f,c,p):
spawn(work_process)
def work_fetch():
try:
while True:
run_fetch()
except Empty:
clogger.info("Fetch - Worker died")
def work_process():
try:
while True:
run_process()
except Empty:
clogger.info("Process - Worker died")
def work_compile():
try:
while True:
run_compile()
except Empty:
clogger.info("Compile - Worker died")
def queue_url(tpe, url,params={"nofollow": False}):
@@ -36,14 +48,13 @@ def queue_url(tpe, url,params={"nofollow": False}):
def queue_url_upd(tpe, url,params={"nofollow": True}):
fetch_queue.put((True,tpe,url,params))
# fetch a page from the url list
def run_fetch():
try:
tc, tpe, url, p= fetch_queue.get()
tc, tpe, url, p= fetch_queue.get(True, 100)
except ValueError:
tc, tpe, url= fetch_queue.get()
tc, tpe, url= fetch_queue.get(True, 100)
clogger.info("Fechted url:"+url)
if tpe is not "dummyarticle" and tpe is not "dummyindex":
rw=fetch_page(url)
else:
@@ -54,7 +65,7 @@ def run_fetch():
#comile something from the compile list
def run_compile():
tc,tpe,h, p = compile_queue.get()
tc,tpe,h, p = compile_queue.get(True, 100)
if p.has_key('parent_item'):
h["parent_item"]=p["parent_item"]
h=do_compile(tpe,h,p)
@@ -63,7 +74,7 @@ def run_compile():
# compile_queue.task_done()
def run_process():
tc,tpe,h,p = process_queue.get()
tc,tpe,h,p = process_queue.get(True, 100)
do_process(tpe, h,p)
return h
# process_queue.task_done()