mirror of https://github.com/scrapy/scrapy.git
Change name, log once
This commit is contained in:
parent
ec1c61504a
commit
472a8a47d0
|
|
@ -96,4 +96,6 @@ But this will::
|
|||
somearg = response.meta['somearg']
|
||||
print "the argument passed is:", somearg
|
||||
|
||||
If you wish to log the requests that couldn't be serialized, you can set the ``SCHEDULER_DEBUG`` setting to ``True`` in the project's settings page. It is ``False`` by default.
|
||||
|
||||
.. _pickle: http://docs.python.org/library/pickle.html
|
||||
|
|
|
|||
|
|
@ -1026,6 +1026,16 @@ Default: ``'scrapy.core.scheduler.Scheduler'``
|
|||
|
||||
The scheduler to use for crawling.
|
||||
|
||||
.. setting:: SCHEDULER_DEBUG
|
||||
|
||||
SCHEDULER_DEBUG
|
||||
---------------
|
||||
|
||||
Default: ``False``
|
||||
|
||||
Setting to ``True`` will log the first unserializable request encountered.
|
||||
Stats collected.
|
||||
|
||||
.. setting:: SPIDER_CONTRACTS
|
||||
|
||||
SPIDER_CONTRACTS
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class Scheduler(object):
|
|||
pqclass = load_object(settings['SCHEDULER_PRIORITY_QUEUE'])
|
||||
dqclass = load_object(settings['SCHEDULER_DISK_QUEUE'])
|
||||
mqclass = load_object(settings['SCHEDULER_MEMORY_QUEUE'])
|
||||
logunser = settings.getbool('LOG_UNSERIALIZABLE_REQUESTS')
|
||||
logunser = settings.getbool('SCHEDULER_DEBUG')
|
||||
return cls(dupefilter, jobdir=job_dir(settings), logunser=logunser,
|
||||
stats=crawler.stats, pqclass=pqclass, dqclass=dqclass, mqclass=mqclass)
|
||||
|
||||
|
|
@ -86,9 +86,13 @@ class Scheduler(object):
|
|||
self.dqs.push(reqd, -request.priority)
|
||||
except ValueError as e: # non serializable request
|
||||
if self.logunser:
|
||||
logger.error("Unable to serialize request: %(request)s - reason: %(reason)s",
|
||||
{'request': request, 'reason': e},
|
||||
msg = ("Unable to serialize request: %(request)s - reason: %(reason)s"
|
||||
" - no more unserializable requests will be logged"
|
||||
" (stats being collected)")
|
||||
logger.error(msg, {'request': request, 'reason': e},
|
||||
exc_info=True, extra={'spider': self.spider})
|
||||
self.logunser = False
|
||||
self.stats.inc_value('scheduler/unserializable', spider=self.spider)
|
||||
return
|
||||
else:
|
||||
return True
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ LOG_STDOUT = False
|
|||
LOG_LEVEL = 'DEBUG'
|
||||
LOG_FILE = None
|
||||
|
||||
LOG_UNSERIALIZABLE_REQUESTS = False
|
||||
SCHEDULER_DEBUG = False
|
||||
|
||||
LOGSTATS_INTERVAL = 60.0
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue