Seite 24 von 67

Re: CrawlerNG - Update 18.11.2016

Verfasst: Sa 26. Nov 2016, 12:00
von HerrVonWelkenNächten
Gut dann muss ich mich entschuldigen!

Deine Logs sprechen zumindest dafür das der Arbeitsspeicher vollläuft und das Tool den Geist aufgibt.

Re: CrawlerNG - Update 18.11.2016

Verfasst: Sa 26. Nov 2016, 12:23
von LostSoul
Das Problem mit den 900-1000 Usern kann ich nachvollziehen. Ist bei mir genauso. Muss man halt die Wide der Suche runter setzen bis EU-Police das Speicherleck beseitigt hat.

Re: CrawlerNG - Update 18.11.2016

Verfasst: Sa 26. Nov 2016, 14:13
von eu-police
Wsxobylydob hat geschrieben:Dann ist es immer sinnvoll, dazu zu schreiben, dass im Log nicht verwendbares oder hilfreiches steht.

Bei mir steht zumindest eine Fehlermeldung:
SPOILER
2016-11-25 22:59:51 | ERROR: [UnhandledException] System.ArgumentException: Ungültiger Parameter.
bei System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
bei System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)
bei System.Drawing.Bitmap..ctor(Image original)
bei (Image )
bei A..(Image )
bei CrawlerNGLib.PlayerHandler.
.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNGLib.PlayerHandler.
.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNGLib.HttpHandler.
.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNGLib.HttpHandler.
.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNGLib.HttpHandler.
.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNG.MainWindow..MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.DispatcherOperation.InvokeImpl()
bei System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Windows.Threading.DispatcherOperation.Invoke()
bei System.Windows.Threading.Dispatcher.ProcessQueue()
bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei (Object )
bei A..(Object )
bei CrawlerNG.App.Main()
SPOILER
Anwendung: CrawlerNG.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.ArgumentException
bei System.Drawing.Bitmap..ctor(Int32, Int32, System.Drawing.Imaging.PixelFormat)
bei System.Drawing.Bitmap..ctor(System.Drawing.Image, Int32, Int32)
bei System.Drawing.Bitmap..ctor(System.Drawing.Image)
bei DynamicClass.(System.Drawing.Image)
bei A..(System.Drawing.Image)
bei CrawlerNGLib.PlayerHandler+
.MoveNext()
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
bei DynamicClass.(System.Runtime.CompilerServices.TaskAwaiter`1<System.Drawing.Bitmap> ByRef)
bei A..(System.Runtime.CompilerServices.TaskAwaiter`1<System.Drawing.Bitmap> ByRef)
bei CrawlerNGLib.PlayerHandler+
.MoveNext()
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
bei DynamicClass.(System.Runtime.CompilerServices.TaskAwaiter`1<CrawlerNGLib.models.Player> ByRef)
bei A..(System.Runtime.CompilerServices.TaskAwaiter`1<CrawlerNGLib.models.Player> ByRef)
bei CrawlerNGLib.HttpHandler+
.MoveNext()
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
bei DynamicClass.(System.Runtime.CompilerServices.TaskAwaiter`1<CrawlerNGLib.models.Player> ByRef)
bei A..(System.Runtime.CompilerServices.TaskAwaiter`1<CrawlerNGLib.models.Player> ByRef)
bei CrawlerNGLib.HttpHandler+
.MoveNext()
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
bei DynamicClass.(System.Runtime.CompilerServices.TaskAwaiter`1<System.Collections.Generic.Dictionary`2<Int32,CrawlerNGLib.models.Player>> ByRef)
bei A..(System.Runtime.CompilerServices.TaskAwaiter`1<System.Collections.Generic.Dictionary`2<Int32,CrawlerNGLib.models.Player>> ByRef)
bei CrawlerNGLib.HttpHandler+
.MoveNext()
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
bei DynamicClass.(System.Runtime.CompilerServices.TaskAwaiter`1<System.Collections.Generic.Dictionary`2<Int32,CrawlerNGLib.models.Player>> ByRef)
bei A..(System.Runtime.CompilerServices.TaskAwaiter`1<System.Collections.Generic.Dictionary`2<Int32,CrawlerNGLib.models.Player>> ByRef)
bei CrawlerNG.MainWindow+.MoveNext()
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
bei System.Windows.Threading.DispatcherOperation.InvokeImpl()
bei System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
bei System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
bei MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
bei System.Windows.Threading.DispatcherOperation.Invoke()
bei System.Windows.Threading.Dispatcher.ProcessQueue()
bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
bei MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
bei System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
bei System.Windows.Application.RunDispatcher(System.Object)
bei System.Windows.Application.RunInternal(System.Windows.Window)
bei System.Windows.Application.Run(System.Windows.Window)
bei DynamicClass.(System.Object)
bei A..(System.Object)
bei CrawlerNG.App.Main()

Außerdem greift der Crawler ständig auf entsprechende Bildressourcen kriegt aber immer einen 404-Fehler.
SPOILER
2016-11-25 22:59:05 | INFO: [GetHoFListPlayers] Getting Hall of Fame playerlist.
2016-11-25 22:59:05 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:05 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:05 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... _hair1.png
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:06 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... beard1.png
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:07 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... beard1.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... beard1.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:08 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:09 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... beard1.png
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Unable to progress request.
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] http://img.playa-games.com/res/sfgame_n ... cial21.png
2016-11-25 22:59:10 | ERROR: [IsRessourceAviable] Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden.
Und dass er bei ca. 900 gecrawlten Spielern ca. 3 GB Ram verwendet ist auch nicht besonders gut...
Die Anzeige der Spielerbilder ist für meinen Geschmack noch zu unzuverlässig (Asche auf mein Haupt) und der Speicherhunger ist aufgrund der vielen verschiedenen Portraitmöglichkeiten ein weiteres Übel.

26.11.2016
  • Die Anzeige von Spieler-Portraits aufgrund des hohen Speicherverbrauchs und anderer Probleme entfernt.

Re: CrawlerNG - Update 26.11.2016

Verfasst: Sa 26. Nov 2016, 18:29
von HerrVonWelkenNächten
Danke, du bist der Beste!

Gerade 15.500 Spieler gecrawled. Ging bombeflott und stabil.

Arbeitsspeicher bedarf ca. 51 MB ^^

Re: CrawlerNG - Update 26.11.2016

Verfasst: So 27. Nov 2016, 14:54
von eu-police
HerrVonWelkenNächten hat geschrieben:Danke, du bist der Beste!

Gerade 15.500 Spieler gecrawled. Ging bombeflott und stabil.

Arbeitsspeicher bedarf ca. 51 MB ^^
Das freut mich zu hören.

Re: CrawlerNG - Update 26.11.2016

Verfasst: So 27. Nov 2016, 18:41
von scripter
Guten tag,
also nach dem update finde ich die log datei wieder, und bei mir crawlt er auch wieder zuverlässig eine große anzahl von spielern.
Während er das macht verbraucht er so gut wie keine system resourcen, deshalb frage ich mich, gibt es eine möglichkeit ihn noch schneller zu machen indem er mehr resourcen nutzt? dies könnte man ja dann über nen power bottun einfügen damit er auch auf schlechteren systemen zuverlässig läuft.

Re: CrawlerNG - Update 26.11.2016

Verfasst: So 27. Nov 2016, 18:56
von flow84
hmm theoretisch könnte man die gengenstandsbilder auch deaktivieren. in der übersicht, wo man sehen kann welcher spieler items hat die einem fehlen, würde auch ein einfaches X in der jeweilgen spalte genügen.

Re: CrawlerNG - Update 26.11.2016

Verfasst: So 27. Nov 2016, 19:01
von Wsxobylydob
scripter hat geschrieben:Guten tag,
also nach dem update finde ich die log datei wieder, und bei mir crawlt er auch wieder zuverlässig eine große anzahl von spielern.
Während er das macht verbraucht er so gut wie keine system resourcen, deshalb frage ich mich, gibt es eine möglichkeit ihn noch schneller zu machen indem er mehr resourcen nutzt? dies könnte man ja dann über nen power bottun einfügen damit er auch auf schlechteren systemen zuverlässig läuft.
Wie schnell der Bot ist, hängt nur minimal mit den Systemressourcen zusammen, da keine komplizierten Berechnungen gemacht werden, sondern der Bot hauptsächlich beim Crawlen die Daten ja nur im Arbeitsspeicher behält. Dass was am längsten dauert, sind die Requests und je nach dem wie gut deine Internetleitung ist, umso schneller ist der Bot auch.

Re: CrawlerNG - Update 26.11.2016

Verfasst: So 27. Nov 2016, 20:07
von eu-police
Wsxobylydob hat geschrieben:
scripter hat geschrieben:Guten tag,
also nach dem update finde ich die log datei wieder, und bei mir crawlt er auch wieder zuverlässig eine große anzahl von spielern.
Während er das macht verbraucht er so gut wie keine system resourcen, deshalb frage ich mich, gibt es eine möglichkeit ihn noch schneller zu machen indem er mehr resourcen nutzt? dies könnte man ja dann über nen power bottun einfügen damit er auch auf schlechteren systemen zuverlässig läuft.
Wie schnell der Bot ist, hängt nur minimal mit den Systemressourcen zusammen, da keine komplizierten Berechnungen gemacht werden, sondern der Bot hauptsächlich beim Crawlen die Daten ja nur im Arbeitsspeicher behält. Dass was am längsten dauert, sind die Requests und je nach dem wie gut deine Internetleitung ist, umso schneller ist der Bot auch.
Korrekt. Die Abfragen sind schon weitestgehend parallelisiert, so wie es erlaubt und möglich ist.

Re: CrawlerNG - Update 26.11.2016

Verfasst: Di 29. Nov 2016, 17:51
von robot
Hallo,

bei mir bricht der neue Crawler leider beim Start gleich ab. - Anbei Auszug aus dem LOG
SPOILER
2016-11-29 17:41:19 | DEBUG: [Login] Saving settings (Checkbox checked).
2016-11-29 17:41:19 | INFO: [SaveSettings] Saving settings.
2016-11-29 17:41:19 | INFO: [SaveSettings] Saved flag: True.
2016-11-29 17:41:19 | INFO: [SaveSettings] Country: International.
2016-11-29 17:41:19 | INFO: [SaveSettings] Server: w12.sfgame.net.
2016-11-29 17:41:19 | INFO: [SaveSettings] Username: ***.
2016-11-29 17:41:19 | INFO: [SaveSettings] Password: ***.
2016-11-29 17:41:19 | DEBUG: [Login] Showing main window.
2016-11-29 17:41:20 | ERROR: [UnhandledException] Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'System.Collections.Generic.Dictionary`2[System.Int32,CrawlerNGLib.models.Player]' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(JsonReader reader, Type objectType, JsonContract contract)
bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
bei CrawlerNGLib.JsonHandler..MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei (TaskAwaiter`1& )
bei A..(TaskAwaiter`1& )
bei CrawlerNG.MainWindow..MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.DispatcherOperation.InvokeImpl()
bei System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Windows.Threading.DispatcherOperation.Invoke()
bei System.Windows.Threading.Dispatcher.ProcessQueue()
bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei (Object )
bei A..(Object )
bei CrawlerNG.App.Main()