Я использую Celery для автоматизации очистки экрана. Я использую Selenium, чтобы открыть веб-драйвер Chrome, манипулировать страницей, сохранить некоторые данные, а затем перейти к следующей странице в очереди. Проблема в том, что он создает и ломает веб-драйвер для каждой задачи в очереди, что требует очень много времени и ресурсов.
Как сохранить объекты между вызовами? Я кое-что читал о пуле соединений в Celery, но мне непонятно, как именно это работает — где мне создать веб-драйвер — в файле задач или в основном файле очереди? Если второе, то как рабочие узнают, какой веб-драйвер использовать?
Пример:
скреб.py:
for page in list:
scrape.delay(str(row['product_id']), str(row['pg_code']))
Задачи.py:
def scrape:
# do some stuff