Używam PhantomJS 1.8 i wpadłem na ograniczenie - nie można określić, jakiego katalogu używa pamięć podręczna dysku. Dodałem to do swojego systemu śledzenia problemów, ale ponieważ nie było go wcześniej, nie spodziewałem się, że wkrótce zostanie dodane.Określanie innego katalogu pamięci podręcznej dla każdej instancji phantomjs
Poszukuję tego sposobu obejścia tego ograniczenia. Próbuję uruchomić wiele procesów Phantomjs, każdy z własnym, osobnym katalogiem podręcznym. Czy jest sposób, w jaki mogę to zrobić, dopóki funkcja nie zostanie dodana do fantomu?
W jaki sposób phantom w ogóle określa, który katalog ma być użyty w pamięci podręcznej? Jeśli jest oparty na zmiennej środowiskowej, być może mógłbym w jakiś sposób ustawić inną wartość dla tej zmiennej dla każdej instancji PhantomJS, którą mam uruchomioną.
Czy to wymyśliłeś? W jaki sposób udało ci się uzyskać wiele instancji? Próbowałem użyć oddzielnego procesu potomnego dla każdego, ale nie działało. –
Niestety, od wersji PhantomJS 1.8 nie ma sposobu na przekazanie do katalogu pamięci podręcznej, więc wszystkie połączenia korzystają z tej samej pamięci podręcznej, jeśli jest używana. Nie jestem pewien, czy istnieje aktualizacja, aby to naprawić, ale utworzyłem dla niego żądanie funkcji: https://github.com/ariya/phantomjs/issues/11102. Jeśli chodzi o sposób uruchamiania wielu wystąpień, wybrałem opcję # 2 z tej odpowiedzi: http://stackoverflow.com/a/9978162. – Borys
Ach, przeszedłem ścieżką opcji nr 1, ponieważ przekazuję funkcję javascript dla strony do oceny, a opcja nr 1 wydawała mi się łatwiejsza. Zapakowałem moduł nodejs w swój własny proces potomny. Jednak nie mogę wydawać jednocześnie dwóch wywołań z dwoma procesami podrzędnymi. –