jxmorris12 / PokemonGo-Finder

Live visualization of all the pokemon in your area... and more!
GNU General Public License v3.0
171 stars 43 forks source link

Pokemon Stop Being Found on the Map #26

Closed Silvawar14 closed 7 years ago

Silvawar14 commented 7 years ago

Expected Behavior

Normally, the program should loop the desired number of steps, show pokemon as the loop goes along, queue at the end of the loop, and repeat.

Current Behavior

The above still occurs, but after some number of minutes (maybe 30 minutes?) Pokemon stop populating on the map. Pokemon simply degrade and are taken off the map. If given enough time, you can refresh localhost:5000 and result in an empty map.

Possible Solution

None

Steps to Reproduce (for bugs)

The above behavior seems to occur without any extra value-added steps from me.

Context

I have to keep an eye on refreshing the map and notice when the # of pokemon on the map seems to be going down. or I have to control + C and restart the command every 20-30 minutes.

Your Environment

karlhe commented 7 years ago

This is the same issue as #16 and #11 (which are both closed currently)

I haven't tried pulling today's commits yet, but they don't appear to address the issue (?)

The issue appears to be that in process_step it catches an AttributeError exception and breaks, and silently continues to fail until it is restarted.

It seems that if you force login to re-run (instead of returning the memoized value) whenever it craps out, the server will last longer but at least in my tests it still eventually fails with this error:

retrying_get_profile: get_profile returned no-len payload, retrying

Still playing around with it, but takes a while since I have to wait an hour for it to fail...

In any case it seems like a good guess that it has something to do with the connection to the server expiring, and the script not detecting or properly refreshing the connection.

Silvawar14 commented 7 years ago

I didn't read the old issues; that's my fault.

I updated to the newest set of files for comparison. It worked for maybe 40 minutes.

karlhe commented 7 years ago

The other issues were closed, nothing wrong with opening a new one!

paperc07 commented 7 years ago

yeah seems the auto updating issue is still here mine are almost all gone after 45 mins or so

Ancyker commented 7 years ago

+1

fatmagic commented 7 years ago

Yep, update issue still existing.. 40 mins-ish before it empties the map, and the finder just keeps running through it's paces with no results.

kylebrower commented 7 years ago

I tried a fix laid out in issue #16.

if you comment out @memoize from main.py, it starts a new login every time it loops, which seems to solve the problem.

This appears to be working for me for the most part. I had one instance where it could not find the profile and I had to restart but it's better than nothing.

Willidude commented 7 years ago

I read that one in issue #16 but i didn't understand the term "comment out." Sorry, I'm new to programming. Could you maybe explain to me what that is and how you did it?

reactortrip commented 7 years ago

Anyone try with a ptc account instead of a google? I read on one of the maps that google has a 30 minute timeout which could correspond with our 30 minute meltdown.

Willidude commented 7 years ago

I did once read something about "host forced disconnect" in python when I happened to look at the screen around the time it shuts down. That would make sense if that was the case. At the moment my workaround is that I have a macro set up to close python and run the main.py every 25 minutes. It's crude but it works I guess for now.

Silvawar14 commented 7 years ago

@Willidude That sounds like the most reasonable fix for now.

@reactortrip I'm using ptc.

reactortrip commented 7 years ago

any idea how to do that in debian, willi? Not the best programmer.

Willidude commented 7 years ago

sorry @reactortrip I have never done any linux. I am self taught in what little I do know how to do so I have never ran any linux OS.

paperc07 commented 7 years ago

@kylebrower yeah that seems to have fixed it for me to mine has been running atleast an hour and its still populating the map and auto updating. Now if I could only get the damn notfier working correctly... displaying just the map no location lol

reactortrip commented 7 years ago

I can post my notifier, mine works and I added the address back to it.

kylebrower commented 7 years ago

I've made a batch file on windows to restart the python script every hour. It may not be perfect but it seems to be working AFAIK. This assumes you dropped the zip in C:\Pogo.

map_looped.bat

cd C:\Pogo\

:loop start python main.py timeout /t 3600 taskkill /IM python.exe goto loop

Silvawar14 commented 7 years ago

I shortened it to 25 minutes for my use. Thanks for the .bat.

poormuffin commented 7 years ago

I was killing python and restarting however this also would kill other python scripts running, which is undesirable.

Looks like if you update the time stamp on main.py, this forces a reload of the script. So now using this from the same directory main.py is in:

!/bin/sh

while [ true ] do touch main.py sleep 1500 done

This will still cause you to get another notification for any pokemon that are on your notify list.

renzy commented 7 years ago

it seems to tweak once it gets over an hour for me. i have a cronjob set up, command is crontab -e, then add this line after you mod the path.

0 * * * * /usr/bin/touch /path/to/PokemonGo-Finder/main.py

or if you want every 30 min

0,30 * * * * /usr/bin/touch /path/to/PokemonGo-Finder/main.py

reactortrip commented 7 years ago

I gave up on fixing this one and switched to the kavagent version, it's updated to the new version of ahaaaaaa and has slack integration which I prefer over pushbullet.

Silvawar14 commented 7 years ago

As far as I'm aware, the above text only has temporary fixes for killing/restarting python.

Were there any permanent fixes in the pulls that I missed?

Silvawar14 commented 7 years ago

!/bin/sh

while [ true ] do touch main.py sleep 1500 done

@poormuffin Can you elaborate on that? Is that just a .bat file with the above contents?