2013-02-27 9 views
6

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ą.

+0

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. –

+1

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

+0

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. –

Odpowiedz

2

W katalogu PhantomJS 1.9 przynajmniej katalog cache to $ HOME/.qws/cache/Ofi Labs/PhantomJS, więc jeśli zmodyfikujesz zmienną środowiskową HOME przed uruchomieniem PhantomJS, możesz mieć inną pamięć podręczną dysku dla każdego procesu. Testowałem to i to działa dla mnie.

Powiązane problemy