austgl / temars-eve-api

Automatically exported from code.google.com/p/temars-eve-api
0 stars 0 forks source link

TEA Cron Problems #81

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
TEA Version?

TEA 1.3.0 r164

SMF Version?

2.0 Gold

What steps will reproduce the problem?
1. Unknown

What is the expected output? What do you see instead?
Running the TEA_Cron.php job is failing somehow, which is putting almost 
everyone in the "failed api" group. But when i do a full check, it fixes the 
problem, but it takes about 3 hours to do it as its only checking 1, maybe 2 
api's at a time.

Not sure how to find out what is breaking as there is no debug info from the 
cron job.

This is with the old and new style of API key's.

Weird thing is, if i goto a user that is showing that their API has failed, 
then click change profile on the API screen, it checks the API and corrects the 
error, until the cron job is ran against their API, at which point it fails 
again.

Please provide any additional information below.

Original issue reported on code.google.com by sc...@pieh0.co.uk on 13 Sep 2011 at 8:55

GoogleCodeExporter commented 9 years ago
A bit more hunting, after increasing the timeout from 25 secs to 180, more 
api's get checked (obviously), but when its at its default time, it manages to 
check 1 api in that time.

So i can only assume that either the API is slow as hell, or the code is having 
to jump through more hoops because its having to check both systems, which when 
fails due to the time out, and the only result it has is an error message.

This is while doing a full check.

Original comment by sc...@pieh0.co.uk on 13 Sep 2011 at 10:27

GoogleCodeExporter commented 9 years ago
old system should still work
the process does a check on the api 1st use and stores the result, so basicly 
only checks if new or not once

ill look into a possible issue caused by moving cron files to forum dir/TEA/
or maybe the full check code but unlikly

Original comment by s...@temar.me on 14 Sep 2011 at 11:12

GoogleCodeExporter commented 9 years ago
did find an unrelated problem in the cron file

yes it does seem to be slow but im guessing its them with all these new api's 
or something
as my code didnt chang apart of what type of variable to use to auth
and a little check once per api on the type

can you tell me the reason it fails
as in under the profile of a user in fail group, it should show the error

P.S. i just realise im logged in on a dif account, oh well

Original comment by s...@temar.me on 14 Sep 2011 at 11:25

GoogleCodeExporter commented 9 years ago
It puts them in the failed api usergroup.

Original comment by sc...@pieh0.co.uk on 15 Sep 2011 at 12:40

GoogleCodeExporter commented 9 years ago
Just upgrade to R166, now its only checking the first 1-3 users, it not moving 
on to the next users that havnt been checked.

Original comment by sc...@pieh0.co.uk on 15 Sep 2011 at 12:58

GoogleCodeExporter commented 9 years ago
Upgraded to R167, and its still rechecking api's that have been checked within 
the last hour.

So atm, i have 87 people checked, and the other 800 unchecked.

Original comment by sc...@pieh0.co.uk on 16 Sep 2011 at 4:10

GoogleCodeExporter commented 9 years ago
fixed r167

Original comment by tema...@googlemail.com on 16 Sep 2011 at 5:38

GoogleCodeExporter commented 9 years ago
Just had the same issue again, where it dumped almost everyone into the failed 
API group. Is there any way to get some debug info out of the cron job so i 
paste it to you?

I did have about 30-40 people in the invalid API group, now i have 332, running 
a full check clears it, but if i turn on the cron jobn again, the same thing 
will just happen.

Thanks, 

Demi

Original comment by sc...@pieh0.co.uk on 17 Sep 2011 at 3:09

GoogleCodeExporter commented 9 years ago
Just looked at the db, and its showing API Error, with a load of 203 and 211 
error codes.

Original comment by sc...@pieh0.co.uk on 17 Sep 2011 at 3:12

GoogleCodeExporter commented 9 years ago
not sure if this will help.

[16-Sep-2011 16:00:39] PHP Fatal error:  Uncaught exception 'Exception' with 
message 'String could not be parsed as XML' in /***/www/Sources/TEAC.php:364
Stack trace:
#0 /***/www/Sources/TEAC.php(364): SimpleXMLElement->__construct('')
#1 /***/www/Sources/TEAC.php(463): TEACN->corp_info('732773091')
#2 /***/www/Sources/TEAC.php(52): TEACN->get_api_characters('20258', 
'uxveDbGKRmexoUg...')
#3 /***/www/Sources/TEA.php(880): TEAC->get_api_characters('20258', 
'uxveDbGKRmexoUg...')
#4 /***/www/Sources/TEA.php(288): TEA->get_characters('20258', 
'uxveDbGKRmexoUg...')
#5 /***/www/Sources/TEA.php(1015): TEA->single('53')
#6 /***/www/Sources/TEA.php(171): TEA->all(false)
#7 /***/www/Sources/TEA.php(158): TEA->main(false, false)
#8 /*** in /***/www/Sources/TEAC.php on line 364
[16-Sep-2011 23:01:02] PHP Fatal error:  Uncaught exception 'Exception' with 
message 'String could not be parsed as XML' in /***/www/Sources/TEAC.php:793
Stack trace:
#0 /***/www/Sources/TEAC.php(793): SimpleXMLElement->__construct('')
#1 /***/www/Sources/TEAC.php(892): TEACO->corp_info('1474714402')
#2 /***/www/Sources/TEAC.php(52): TEACO->get_api_characters('5746496', 
'85B46239AB5B4B9...')
#3 /***/www/Sources/TEA.php(880): TEAC->get_api_characters('5746496', 
'85B46239AB5B4B9...')
#4 /***/www/Sources/TEA.php(288): TEA->get_characters('5746496', 
'85B46239AB5B4B9...')
#5 /***/www/Sources/TEA.php(1015): TEA->single('951')
#6 /***/www/Sources/TEA.php(171): TEA->all(false)
#7 /***/www/Sources/TEA.php(158): TEA->main(false, false)
#8 /***/atlas in /***/www/Sources/TEAC.php on line 793
[17-Sep-2011 00:00:48] PHP Fatal error:  Uncaught exception 'Exception' with 
message 'String could not be parsed as XML' in /***/www/Sources/TEAC.php:793
Stack trace:
#0 /***/www/Sources/TEAC.php(793): SimpleXMLElement->__construct('')
#1 /***/www/Sources/TEAC.php(892): TEACO->corp_info('1833811698')
#2 /***/www/Sources/TEAC.php(52): TEACO->get_api_characters('3971317', 
'919DC66A14114AE...')
#3 /***/www/Sources/TEA.php(880): TEAC->get_api_characters('3971317', 
'919DC66A14114AE...')
#4 /***/www/Sources/TEA.php(288): TEA->get_characters('3971317', 
'919DC66A14114AE...')
#5 /***/www/Sources/TEA.php(1015): TEA->single('1042')
#6 /***/www/Sources/TEA.php(171): TEA->all(false)
#7 /***/www/Sources/TEA.php(158): TEA->main(false, false)
#8 /***/atla in /***/www/Sources/TEAC.php on line 793

Original comment by sc...@pieh0.co.uk on 17 Sep 2011 at 3:47

GoogleCodeExporter commented 9 years ago
Just looking at my killboard, and it seems to have the same problem at those 
times, so either the API server died, or im raping the api server, so it blocks 
or fails my attempts to get anything from it.

I am running the cron job every minute atm, so i will try running every 5 mins 
and see what happens.

Original comment by sc...@pieh0.co.uk on 17 Sep 2011 at 4:47

GoogleCodeExporter commented 9 years ago
Right, been having a play with it, and the api server blocks IP's that give too 
many invalid API calls over a given period. The problem with this is when 
running the cron job, you will get a few invalid api's within that time frame, 
which then bans your ip for a while.

So in order to stop that, i removed the failed api group from the monitored 
groups, but then when someone updates their api from an invalid api to a 
working api, TEA wont put them in the groups they have access to.

So is it possible to get the cron job to check each api each hour, and if it 
runs out of api's to check, it just quits gracefully? Either that or change it 
so if it gets no result from the api server, stop it from instantly assuming 
its a failed api.

Original comment by sc...@pieh0.co.uk on 18 Sep 2011 at 5:01