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