These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Why are we not combining market data, player devs?

Author
Nam Noissim
Red Lobsters Unilateral
#61 - 2011-11-11 22:03:26 UTC
In terms of the config file, if you are writing your uploader in C/C++, i'd recommend iniparser. I use it in my own apps and it is a wonderful pre-made solution. Just download the files, grab out the 4 code files (2.c, 2.h) and include them. It works great.

http://ndevilla.free.fr/iniparser/

If you need an XML parser, I've been using a customized version of http://www.applied-mathematics.net/tools/xmlParser.html this guy's parser for several years now. It is fast, correct, etc. I like it. It isn't a library, just like iniparser. You just take the .h and .c files and compile with them.

What did I tweak in his code? Well, mainly XMLParser decided that if *anything* went wrong, he should exit your application. Yea...no. I went through and stripped all that garbage out and replaced it with more graceful failures my app can catch and deal with. I think I might have changed a couple other things, but that is the big one that I remember annoying me for weeks on end.

Other than that...*shrug* sit down and code. :)
Garo Hertee
Eclipse Industrials
Quantum Forge
#62 - 2011-11-11 22:18:03 UTC
Either one, as long as the config files are easy for anyone to create with very simple documentation. I'm a web programmer (my forte is PHP) and have never really touched C, but it's pretty easy to document how to write a config file in XML. It would be a process which presumably anyone creating a new market site would be familiar with.
Callean Drevus
Perkone
Caldari State
#63 - 2011-11-12 19:13:16 UTC  |  Edited by: Callean Drevus
Garo Hertee wrote:
Is Eve Marketeer processing data right now? I'm uploading but...

1. My upload count isn't rising
2. The stats page isn't showing uploads for any region in the past 24 hours
3. The upload backlog is showing almost 68000.

Does this mean it's accepting uploads into a queue but not processing that queue?


It was processing the queue, but not fast enough. That is, I had had the EVE Central import turned off for a while, and when I enabled it again it immediately resumed processing where it left off, filling the queue with about 2 weeks of stale data, which I only just removed in a controlled way.

Quote:
To those running the sites, please don't take these figures as a criticism, they're intended purely as figures.


Interesting to see this uptime, even if it doesn't show EVE Marketeer in a very good light it is probably correct. Even if the website is cool, it suffers from a lot of problems and it is mostly in the experimental stage right now.

Developer/Creator of EVE Marketeer

Garo Hertee
Eclipse Industrials
Quantum Forge
#64 - 2011-11-12 19:20:27 UTC
That's good. The numbers were intended as a baseline which you can start to work from. If it's useful to you, I can post them occasionally to give you an idea of progress.
Shingihada Rubik
University of Caille
Gallente Federation
#65 - 2011-11-13 16:04:05 UTC
Quick question regarding the EVE Marketeer Uploader, does it send all the data directly to each of the sites or does it queue up locally on your server before being sent to the other sites? Not that I have any clue whatsoever about programming, I'm just curious.
Callean Drevus
Perkone
Caldari State
#66 - 2011-11-14 22:52:55 UTC
It sends to every site directly, that eliminates the problem of the single point of failure being my website, which Garo so cheerfully proved to be the most unreliable of all the market websites ;)

Developer/Creator of EVE Marketeer

Garo Hertee
Eclipse Industrials
Quantum Forge
#67 - 2011-11-16 19:45:50 UTC
LOL, not cheerfully. Anyway, the 100% for Eve Central may not be entirely accurate. When it's not working, it returns a proxy error page and the monitoring system is probably counting this as being a response on port 80, even though the site isn't providing data.
Garo Hertee
Eclipse Industrials
Quantum Forge
#68 - 2011-11-17 22:47:45 UTC
So here are this week's figures which show that Eve Central doesn't have an automatic 100%...

Eve Central: 99.7% uptime
Eve Market Data: 98.2% uptime
Eve Marketeer: 85.1% uptime
Garo Hertee
Eclipse Industrials
Quantum Forge
#69 - 2011-11-23 20:09:09 UTC
Callean, I'm not sure if you've been working on the server to improve stability, but if you have, it's working.

Eve Central: 100% uptime
Eve Market Data: 95.9% uptime
Eve Marketeer: 92.1% uptime
Kaladr
Viziam
Amarr Empire
#70 - 2011-11-28 23:34:11 UTC  |  Edited by: Kaladr
As the operator of EVE-Central, I always welcome improvements to the Uploader portion. I am also very willing to change the API as needed to have a more unified data format. I am not planning on deprecating the old interface either.

As I've announced elsewhere, EVE-Central is still interesting to me and am recently upping my contribution back to the site (and EVE in general, though my picture still seems to be stuck in 2008 <--- ).

To those of you who have created uploaders already, thanks! Contribtastic has some annoying bugs, and it would be great to pave over them, but honestly client side UIs have never been my strong suit.

As for the more "exclusive" uploaders, it would be great to have a federated data feed amongst ourselves. The SMTP service from EVE-Central is not the best tool (but it was admittedly easy to hack together), but something similar would always be appreciated.

Creator of EVE-Central.com, the longest running EVE Market Aggregator

Dragonaire
Here there be Dragons
#71 - 2011-11-29 05:25:22 UTC
I was going to suggest something like RSS with JSON payload but after looking into RSS a little more it seems it can't handle what is needed so maybe just straight forward RESTful web application type interface might be the way to go. The format I suggested back in post #36 might be usable directly or with a few changes.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Kaladr
Viziam
Amarr Empire
#72 - 2011-11-29 05:35:43 UTC
Dragonaire wrote:
I was going to suggest something like RSS with JSON payload but after looking into RSS a little more it seems it can't handle what is needed so maybe just straight forward RESTful web application type interface might be the way to go. The format I suggested back in post #36 might be usable directly or with a few changes.


RESTful applications are the way to go. The end-point doesn't have to be consistent as long as the payload is consistent - I'm perfectly fine with your suggested JSON payload, assuming it would be generated per site, otherwise the developer key portion would need multiple values per site.

Awhile ago EVE-Central played with the notion of sucking in API orders information and transactions. For EVE-API stability reasons this was disabled, but I'm very tempted to turn that back on again (with an improved user login system). Its only a minor snapshot of the world, and is more easily outdated than cache scrapes, but added some useful information. Sadly that information was not previously syndicated (though there is no technical reason it couldn't be).

Creator of EVE-Central.com, the longest running EVE Market Aggregator

Dragonaire
Here there be Dragons
#73 - 2011-11-29 22:47:21 UTC  |  Edited by: Dragonaire
I've also looked at adding the same thing to Yapeal to grab market order information but some other things have had a higher priority lately (SkyRim) for me Blink

The idea with developer_key was to have some kind of site key that others could check mostly just to have an idea where it came from to prevent loops. It could probably be better named. I thought about having some kind of two part encryption system but then we'd have to deal with the whole trust issue and I thought it would be better let each site decide how they wished to handle that part Big smile but I think there needs to be some way inside the meta data to track at least where it says it came from.

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Kaladr
Viziam
Amarr Empire
#74 - 2011-11-29 23:50:56 UTC
Dragonaire wrote:
I've also looked at adding the same thing to Yapeal to grab market order information but some other things have had a higher priority lately (SkyRim) for me Blink

The idea with developer_key was to have some kind of site key that others could check mostly just to have an idea where it came from to prevent loops. It could probably be better named. I thought about having some kind of two part encryption system but then we'd have to deal with the whole trust issue and I thought it would be better let each site decide how they wished to handle that part Big smile but I think there needs to be some way inside the meta data to track at least where it says it came from.


Ok, not a bad idea on that end - what you're really looking for is a UUID of some kind, to avoid circularly publishing data. I'm all for that, and it should probably be client generated.

Creator of EVE-Central.com, the longest running EVE Market Aggregator

Kaladr
Viziam
Amarr Empire
#75 - 2011-11-30 07:03:11 UTC  |  Edited by: Kaladr
Ok, I have taken the EMK format, massaged it a bit, and tossed it up on the EVE-Central Development Wiki (hint: anyone can edit this).

http://dev.eve-central.com/unifieduploader/start

Comments?

At present (or for at least a year) I am not going to deprecate the old "throw CSV at server" upload system in EVE-Central, since there are now multiple clients which reference it.

Creator of EVE-Central.com, the longest running EVE Market Aggregator

Callean Drevus
Perkone
Caldari State
#76 - 2011-11-30 08:14:44 UTC
Hey, good to see the creator of EVE Central return.

Besides, with that upload format, I really can't say anything for CSV. It looks pretty decent, with useful JSON in the places where it is relevant, but leaving the orders part an array, which will save on bandwidth and be more concise in general.

It also includes ALL data in the POST part of the request, which is pretty nice (no more parameters). UUID's to uniquely identify uploads are a pretty good idea, and not one I ever thought of (though I'd never heard of the concept until a few months back).

Today I'm going to modify the uploader to hopefully use seperate threads and allow arbitrary upload locations, and then we'll really be on our way towards a unified upload infrastructure.

In addition, I"ve been planning for a while to implement upload queueing in EMK, and that will be the way uploads can be posted to other sites/services/anyone as well (using the same upload API the clientside uploaders use).

Developer/Creator of EVE Marketeer

Dragonaire
Here there be Dragons
#77 - 2011-11-30 16:29:00 UTC
@Kaladr Linky no worky for me. It just times out but even www.eve-central.com is being really slow right now too and is probably going to time out. Sad

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Kaladr
Viziam
Amarr Empire
#78 - 2011-11-30 18:16:55 UTC  |  Edited by: Kaladr
Dragonaire wrote:
@Kaladr Linky no worky for me. It just times out but even www.eve-central.com is being really slow right now too and is probably going to time out. Sad


Well there goes two weeks of uptime due to an odd bug.. Backend servers punted and back to normal.

New server should be in sometime in January to help scale out.

Creator of EVE-Central.com, the longest running EVE Market Aggregator

Dragonaire
Here there be Dragons
#79 - 2011-12-01 07:07:45 UTC
Like your ideas but I think it would be a good idea to still do the data part with the extra header stuff from my improved version.

"log":{
"header":["order_id","buysell","solar_system_id","station_id","price",
"vol_entered","vol_remaining","min_volume","issue_datetime","duration",
"range"],
"rows":[
[...]
]

It would make it more self documenting which would allow developers that weren't involved in this thread to still understand what everything was and also makes any future changes easier if needed to add additional columns etc. It would also let developers have more freedom if needed in the order of the columns should it be ever be required in their application. And then there is of course the most important reason it makes it easier for anyone (read me) when I'm trying to fix something that broke at 3am and I haven't had any sleep for 3 days so it's hard for me to remember which came first vol_entered or vol_remaining etc Big smile The extra overhead is minimal but adds a lot of value IMHO.

I do like the idea of maybe using UUIDs but how would it be better than just using a MD5 or SHA1 hash of the URL with parameters? Also which parameters were you thinking about using/including in it?

BTW thanks for fixing it so I could see the linky Smile

Finds camping stations from the inside much easier. Designer of Yapeal for the Eve API. Check out the Yapeal PHP API Library thread.

Desmont McCallock
#80 - 2011-12-01 07:42:42 UTC
Kaladr, what Drago says. CCP makes our lives difficult as it is. Let's not make them more.