2013-03-11 7 views
5

Wenn ich meine Test-Anzug, finde ich, dass zeitweise einige der Texte für eine lange Zeit hängen (15 Minuten bis eine halbe Stunde) mit PhantomJS ständig Berichterstattung:Wiederholen "Asynchronous Sessions Cleanup-Phase beginnt jetzt"

Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW ... 

Was ist das Asynchronous Sessions cleanup phase starting NOW und was könnte dazu führen, dass es so lange hängen bleibt?

Prost

Dave

Antwort

1

Lösung gefunden:

Die Asynchronous Sessions cleanup phase starting NOW ... durch einige Anrufe an externe Feeds verursacht wurde, waren diese zeitweise langsam. Diese Phase musste auf diese Anrufe gewartet haben, die gerade ausgingen, aber PhantomJS saß dort und wartete sehr, sehr lange.

Die Entfernung dieser Aufrufe beim Testen (mit einem kleinen Bit JavaScript, wenn Host localhost ist und dann ein Dummy-Objekt verwenden) löste das Problem.

+4

Ich habe das gleiche Problem. Möchten Sie das näher erläutern? –

+1

@BanksySan Ich bin mir nicht sicher, was Sie mit einem kleinen bisschen JavaScript meinen, was haben Sie getan, für den Kontext? –

+0

@BanksySan ja ein bisschen Kontext könnte mir wirklich helfen –

-2

versuchen zu verwenden this.driver = neuer PhantomJSDriver (Kappen); Jetzt haben wir eine Abschaltung. [INFO - 2014-05-01T13: 21: 09.095Z] ShutdownReqHand - _HANDLE - über zur Abschaltung

Aber nachdem ich bekam die gleiche pbm

+0

Wie wird es helfen? Wenn 'dies' kein Singleton ist, dann gibt es keinen Unterschied. – tribbloid

0

Die Abhilfe, die für mich gearbeitet ist die takesScreenshot Fähigkeit auf falsch.

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setCapability("takesScreenshot", false); 
+0

Dies ist nicht die Lösung, es sei denn, Sie geben den Screenshot irgendwo aus, der nicht existiert. Es ist eine gute Idee, aber es gibt auch eine Frage des Cache, Dateisystem; usw., die schuld sein können. Ich versuche intensive Tests in LXC-Containern mit mehr isoliertem Ressourceneinsatz durchzuführen, da ich denke, dass dies die Probleme beseitigen wird, die ich mit allen Webtreibern habe. –