Использование задачи Scrapy with Celery не выдает никакой ошибки - PullRequest
0 голосов
/ 21 июня 2019

Я использую Django с сельдереем и использую Scrapy в качестве веб-скребка. Мой веб-скребок по какой-то причине не работает. После некоторой отладки я обнаружил, что в коде моего сканера произошла ошибка. Я исправил это, но это было, когда я понял, что scrapy не выводит журналы ошибок, когда происходит ошибка.

Я пытался заставить его выводить логи, но не могу понять, в чем проблема.

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings


# Call crawler
def crawl(url):
    process = CrawlerProcess(project_settings)

    # Specify arguments for crawler

    process.crawl(crawler_or_spidercls='website')
    print('starting....crawl')
    process.start()  # the script will block here until the crawling is finished
    print('done....crawl')

Я специально установил свой код для выдачи ошибки. Ниже показан вывод сельдерея: он успешно завершен без вывода ошибки на консоль.

celery_worker_1               | [2019-06-21 20:22:00,655: WARNING/ForkPoolWorker-7] starting....crawl
celery_worker_1               | [2019-06-21 20:22:00,666: WARNING/ForkPoolWorker-7] done....crawl
celery_worker_1               | [2019-06-21 20:22:00,672: INFO/ForkPoolWorker-7] Task crawler.tasks.crawl_website[3671f518-8a41-44bc-8deb-4c8a1c5e9a6d] succeeded in 0.16195997500017256s: None
celery_worker_1               | [2019-06-21 20:22:00,672: WARNING/ForkPoolWorker-7] 2019-06-21 20:22:00 [celery.app.trace] INFO: Task crawler.tasks.crawl_website[3671f518-8a41-44bc-8deb-4c8a1c5e9a6d] succeeded in 0.16195997500017256s: None

Однако, если бы я сам запустил только функцию сканирования, я смог бы увидеть ошибку.

...