использования pool данные записываются в файл в разброс. Можно ли исправить такую проблему и из-за чего она происходит?
надо локи использовать, может гонка потоков
Ну да, заметил что один поток работает бистрее второго. Прочитаю про локи как раз. И спасибо за помощь.
В каком смысле вразброс?
У меня на сайте который я парсю есть сортировка по цене от дорогого до дешевого, но при открытие файла в который я всё и записал весь товар перемешан по цене.
Пишется в том же порядке что и приходит
Она происходит из-за того, что процессы никак не связаны друг с другом. Чтобы её исправить надо сильно продумать. Проще всего кидать всё как попало в БД, а потом просто отсортировать результаты отдельно средствами самой бд
Локи на запись в файл - дорого. Рекомендую залочить выдачу порядковых номеров порциям данных, и сделать промежуточный буфер, где последние n записей будут отсортировываться, буфер тоже залоченный.
Обсуждают сегодня