mirror of
https://github.com/simon987/od-database.git
synced 2025-04-19 10:26:44 +00:00
hotfix attempt 3
This commit is contained in:
parent
0ff6ea1682
commit
59b1d249ba
5
api.py
5
api.py
@ -31,10 +31,7 @@ def setup_api(app):
|
|||||||
oddb.logger.info("No queued tasks, creating a new one")
|
oddb.logger.info("No queued tasks, creating a new one")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
website_id = oddb.db.get_oldest_website_id()
|
task = oddb.db.make_task_for_oldest()
|
||||||
website = oddb.db.get_website_by_id(website_id)
|
|
||||||
task = Task(website_id, website.url)
|
|
||||||
oddb.db.put_task(task, name)
|
|
||||||
except:
|
except:
|
||||||
oddb.logger.error("Couldn't create new task")
|
oddb.logger.error("Couldn't create new task")
|
||||||
abort(404)
|
abort(404)
|
||||||
|
12
database.py
12
database.py
@ -153,13 +153,17 @@ class Database:
|
|||||||
website_id = cursor.fetchone()
|
website_id = cursor.fetchone()
|
||||||
return website_id[0] if website_id else None
|
return website_id[0] if website_id else None
|
||||||
|
|
||||||
def get_oldest_website_id(self):
|
def make_task_for_oldest(self, assigned_crawler):
|
||||||
|
|
||||||
with sqlite3.connect(self.db_path) as conn:
|
with sqlite3.connect(self.db_path) as conn:
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
cursor.execute("SELECT Website.id FROM Website WHERE Website.id not in (SELECT website_id FROM Queue) "
|
cursor.execute("INSERT INTO QUEUE (website_id, url, assigned_crawler) SELECT Website.id, Website.url, ? FROM Website WHERE Website.id not in (SELECT website_id FROM Queue) "
|
||||||
"ORDER BY last_modified ASC LIMIT 1")
|
"ORDER BY last_modified ASC LIMIT 1", (assigned_crawler, ))
|
||||||
return cursor.fetchone()[0]
|
|
||||||
|
cursor.execute("SELECT id, website_id, url, priority, callback_type, callback_args FROM Queue "
|
||||||
|
"WHERE id=LAST_INSERT_ID()")
|
||||||
|
task = cursor.fetchone()
|
||||||
|
return Task(task[1], task[2], task[3], task[4], task[5])
|
||||||
|
|
||||||
def delete_website(self, website_id):
|
def delete_website(self, website_id):
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user