EU+US Relic Finder App

CloudeStrife

Grandfathered
Hey guys, well I decided to do it.
I've got the UI app started and it's returning items that match the search criteria.
This is the most generic/early testing version there will be; hence, the ui is plain and you can't yet type your search criteria. That number you see in the big box is just the Bid price of a Spellfire Oil on darkspear. I just wanted to make sure my approach would work.

I'm going to go simple with this. There will be a dropdown box with all of the relics by type, one by name. There will also be a control to select the servers you would like to include in your search, as well as the Region. Of course, you can choose to search an entire region.

I will add timers/email functionality to this, and I'll add boxes for you to type your email address. I'm not sure yet how I want to define the rules of when it will email you. If the searches run fast enough, I'll just have it email all the results at the end. However, if it takes over 30mins, I'll have it email each match as it finds it. This way, you have more time to responde and snag that thing.

Any other thoughts? Remember, the more complicated this gets, the longer it will take for me to produce.

Also, and don't hate me for this, I will more than likely run this privately for a few days 1)To make sure it works, and 2)To snag up the Fire/Storm relics I need before you guys snag them all up with this app. :)
upload_2017-4-13_21-25-48.png
 
Last edited:
Keep an eye out for Arcane/Life for me if you don't mind while you're in the process of testing :)
 
More progress.... Almost done.
I was going to multithread this thing to increase it runs, but then I remembered the data that it pulls only updates hourly on US servers :(. I still may split it up into 2-4 threads, just so that when it runs it's over quick, but the value isn't as high.
upload_2017-4-14_22-4-57.png


***Edit***
I still need to remove the redundant searches of Merged/Connected Realms. I just keep forgetting lol.
 
More progress.... Almost done.
I was going to multithread this thing to increase it runs, but then I remembered the data that it pulls only updates hourly on US servers :(.

US servers are only every 120 minutes, as far as I know. EU servers are hourly.
 
SOOOO, close.
I multithreaded it to run up to 25 consecutive realm calls. The entirety of all US AH's are scanned/searched/filtered within 10minutes. I think I can get this thing to under 5mins. :)
Now, If I could only get a dang relic. I swear, the only ones that show up are the wrong type, and they keep getting more rare.
upload_2017-4-15_12-54-48.png
 
SOOOO, close.
I multithreaded it to run up to 25 consecutive realm calls. The entirety of all US AH's are scanned/searched/filtered within 10minutes. I think I can get this thing to under 5mins. :)
Now, If I could only get a dang relic. I swear, the only ones that show up are the wrong type, and they keep getting more rare.
View attachment 5868


You know, while you're building this... you may want to make it able to search for anything in the future, not just Relics. I know my mess of a scanner is annoying to search for new things, because it was "designed" (ahaha) to just search for one thing.

What type are you looking for?
 
You know, while you're building this... you may want to make it able to search for anything in the future, not just Relics. I know my mess of a scanner is annoying to search for new things, because it was "designed" (ahaha) to just search for one thing.

What type are you looking for?
Yeah, It technically does search for everything, I'm only filtering by these special relics. I will build in either a copy/pastable box to paste your search format, or use a search config file once I give it out.

And Boy am I not happy right now. I went out for family easter dinner, left the app running (it text messages me when it completes). It texted me once with relics I don't need. Then didn't text at all... I guess the API's went down. I got back and it said a Storm (which is what I need + fire) was on Arthas US. Logged in, thing was already gone... was up for about an hour tops then someone snagged it :(
 
I guess the API's went down.

Everything (games/login servers/website/forums) NA (and oceanic apparently) was down for around 6 hours this morning... 6am EST to 11:45 EST, including the API.

Unfortunately I don't have any extra fire or storm relics... I'd give you one if I did, but they seem to be the rarest ones... I've only managed to nab one of each of those, for my fury warrior.
 
You've motivated me to re-code my AH scanner :p It's such a mess and completely inefficient (takes like 45mins to filter through all the AHs).

Yeah, It's odd though. Blizz says 100api calls/sec 3600/hr. From what I'm told, the api call to get the list of files (usually only one file) counts toward the 100/sec, but the calls to follow the .json URL to get the file don't hit the api; rather, just a normal HTTP web server. That being said, In theory, I could pull all of the ah data file-url's in about 10secons or less, then about another minute to request the json pages (it only takes the app about 1second to parse the data and filter for the relics per server). However, the calls to the json url are timing out if I have more than 8-ish running at the same time. I can't yet get a solid answer from the dev community, but I thing the HTTP server is limiting open sockets to the same IP.

If I can overcome this, I think I can get it to pull all data from all servers in less than 5mins, but based on what I know now. I think I just may set up a task scheduler for each server and have the App kick of a thread just for that server when 1hr5mins past the last updated time reported by the call for that server file

*****UPDATE******
Found out what my problem was. HttpClient uses the ServicePointManager.DefaultConnectionLimit setting.... basically I was thought I was asking blizz for 25 files at once, and blizz was all "Slow your roll cowboy," but what was really happening is I was like "Hey PC connect 25 connections all at once" and My pc was all like "WTF mate? That's not the rules around here" So, I changed the rules and now I have the entire DB of AH items in less than 3minutes. :) WOOT!
 
Last edited:
So I just finished rewriting my scanner. Managed to get a full EU scan down to 12 minutes now, which is quite an improvement on the ~45mins from before, especially considering it's single-threaded so it has to download/process each realm one by one :p

Edit: And yes, the Frost relic on Nagrand for 6,969,696g is me testing xD
 

Users who are viewing this thread

Top