Docker Scrapy Spyder не автоматический перезапуск - PullRequest
0 голосов
/ 18 марта 2019

Я использую Docker + Python + Spyder

Мой шпион работает так же сильно, как и мой предел параллелизма, idk, может кто-нибудь помочь мне понять это?

my docker-compose.py

celery:
    build:
      context: .
      dockerfile: ./celery-queue/Dockerfile
    entrypoint: celery
    command: -A tasksSpider worker --loglevel=info  --concurrency=5 -n myuser@%n
    env_file:
    - .env
    depends_on:
    - redis

Мой код паука:

def spider_results_group():
    results = []

    def crawler_results(signal, sender, item, response, spider):
        results.append(item)

    dispatcher.connect(crawler_results, signal=signals.item_passed)

    process = CrawlerProcess(get_project_settings())
    process.crawl(groupSpider)
    process.start()  # the script will block here until the crawling is finished
    process.stop()
    return results

С помощью этого кода я мог запускать spider несколько раз, но только 5 раз, когда я проверяю его, я думаю, это потому, что моя параллелизм составляет всего 5, а когда он запускается снова (6-й), он зависает ...

если нужен другой код, пожалуйста, спросите

1 Ответ

0 голосов
/ 18 марта 2019

решено с помощью этой команды:

    command: -A tasksSpider worker --loglevel=info  --concurrency=5 --max-tasks-per-child=1 -n myuser@%n

получил ответ от: Запуск Scrapy Spiders в задаче Celery

...