mirror of https://github.com/scrapy/scrapy.git
SqliteSpiderQueue: failback to in-memory SQLite if database cannot be opened (typically due to missing write permissions)
This commit is contained in:
parent
bf34094e5a
commit
b800fdcb4d
|
|
@ -1,5 +1,8 @@
|
|||
import sqlite3
|
||||
|
||||
from zope.interface import implements
|
||||
|
||||
from scrapy import log
|
||||
from scrapy.interfaces import ISpiderQueue
|
||||
from scrapy.utils.sqlite import JsonSqlitePriorityQueue
|
||||
|
||||
|
|
@ -9,7 +12,12 @@ class SqliteSpiderQueue(object):
|
|||
implements(ISpiderQueue)
|
||||
|
||||
def __init__(self, database=None, table='spider_queue'):
|
||||
self.q = JsonSqlitePriorityQueue(database, table)
|
||||
try:
|
||||
self.q = JsonSqlitePriorityQueue(database, table)
|
||||
except sqlite3.Error, e:
|
||||
self.q = JsonSqlitePriorityQueue(':memory:', table)
|
||||
log.msg("Cannot open SQLite %r - using in-memory spider queue " \
|
||||
"instead. Error was: %r" % (database, str(e)), log.WARNING)
|
||||
|
||||
@classmethod
|
||||
def from_settings(cls, settings):
|
||||
|
|
|
|||
Loading…
Reference in New Issue