Jest sugestia. Duuuża maszyna. Kilka/kilkanaście różnych workerów pracujących na raz. Każdy worker pobiera właśnie np. po 10000 aukcji. No i jak pobierasz, to sprawdzasz, czy masz już w bazie taką aukcje i jak jest, to następny (z tym, że oznacz, że był pobrany, np. aktualizuj ostatnią datę aktualizacji), a jak nie ma, to dodajesz nowy rekord. Do tego np. dodatkowy program, który sprawdza ostatnią aktualizację aukcji. Np. jak nie ma aktualizacji w ciągu ostatniej godziny, to aukcja już nie istnieje. Coś w ten deseń możesz kombinować. Nie mam dużego doświadczenia z API Allegro, ale nasuwają mi się pytanie. Czy Allegro ma limity? Godzinowe? Dobowe? I drugie pytanie, czy na jednym API może kilka/kilkanaście połączeń na raz pobierających wszystkie aukcje.
Ostatnio pisałem coś podobnego, tzn. na podobnej zasadzie to działało. A dokładniej pisałem aplikację (która działa wielowątkowo) w Go, która łączy się przez IMAP ze skrzynkami i zczytuje nieprzeczytane e-maile, następnie je oznacza jako przeczytane. Z każdą skrzynką mam połączenie co 1 minutę. Aplikacja stoi stabilnie ponad miesiąc. Google żadnego bana nie wręczył za tak częste połączenia, więc nie martwię się już niczym. Inne skrzynki są mniej restrykcyjne od Google'a wydaje mi się.
Kombinuj

@edit: Możesz robić osobne worker'y albo aplikację wielowątkową. Ponadto od razu możesz PHP skreślić z listy języków, w których można to napisać. Najlepiej w C++, nodejs lub Go. Ewentualnie, jak stać Cię na naprawdę drogie maszyny to mogę jeszcze polecić C# - ale cenę będzie robić zaintalowany Windows...