mirror of
https://github.com/not-kennethreitz/convore.json.git
synced 2026-06-21 15:40:58 +00:00
1 line
19 KiB
JSON
1 line
19 KiB
JSON
[{"user_id": 257, "stars": [], "topic_id": 1556, "date_created": 1296549710.926475, "message": "wish I had known how cool it was sooner", "group_id": 81, "id": 41018}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296549638.470607, "message": "I use it for everything.", "group_id": 81, "id": 41013}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296549646.0517721, "message": "Seriously, seriously underrated.", "group_id": 81, "id": 41014}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296549680.743799, "message": "Agree/disagree?", "group_id": 81, "id": 41016}, {"user_id": 257, "stars": [{"date_created": 1296549696.077106, "user_id": 1}], "topic_id": 1556, "date_created": 1296549689.2711489, "message": "yeah, eventlet rocks!", "group_id": 81, "id": 41017}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296549634.934989, "message": "Seriously...it's like my favorite thing now.", "group_id": 81, "id": 41012}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296549665.7991691, "message": "No idea why node.js gets all this press, when Eventlet is doing the same thing in such a better way.", "group_id": 81, "id": 41015}, {"user_id": 227, "stars": [], "topic_id": 1556, "date_created": 1296575299.2045131, "message": "We used eventlet a *lot* until we had to replace it with Octobot. Still use it in quite a few places.", "group_id": 81, "id": 41051}, {"user_id": 218, "stars": [], "topic_id": 1556, "date_created": 1296580270.3664801, "message": "@mtrichardson \"had to\"? Anything we should know?", "group_id": 81, "id": 41056}, {"user_id": 229, "stars": [], "topic_id": 1556, "date_created": 1296580525.3667071, "message": "We didn't replace it with Octobot, we replaced it with Helium", "group_id": 81, "id": 41065}, {"user_id": 229, "stars": [], "topic_id": 1556, "date_created": 1296580563.1588149, "message": "The eventlet issues weren't necessarily eventlet issues, but we had trouble getting to higher than 45k or so persistent connections.", "group_id": 81, "id": 41066}, {"user_id": 229, "stars": [], "topic_id": 1556, "date_created": 1296580620.2350931, "message": "But we are using it for another subsystem, one that does a lot of outgoing https connections with connection pooling. eventlet + httplib2 (with minor patches) is great.", "group_id": 81, "id": 41070}, {"user_id": 229, "stars": [], "topic_id": 1556, "date_created": 1296580585.0411749, "message": "If we fought it we probably could have gotten it a lot better, but @cscotta whipped up the Java nio server that performed spectacularly really quickly", "group_id": 81, "id": 41069}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296581148.289315, "message": "@robotadam what amount of persistent connections are you hitting with the java nio server?", "group_id": 81, "id": 41072}, {"user_id": 229, "stars": [], "topic_id": 1556, "date_created": 1296583505.836266, "message": "@asenchi up to 500k for a single EC2 large instance (~7.5 GB of ram): http://urbanairship.com/blog/2010/08/24/c500k-in-action-at-urban-airship/ http://urbanairship.com/blog/2010/09/29/linux-kernel-tuning-for-c500k/", "group_id": 81, "id": 41075}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296583874.9915891, "message": "@robotadam doh, i've read those. Sigh.", "group_id": 81, "id": 41076}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296583964.442827, "message": "That is really nice work though. Pretty amazing the number you guys were able to reach", "group_id": 81, "id": 41077}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296584061.0141699, "message": "/me wants to see if that would be an improvement on FreeBSD.", "group_id": 81, "id": 41078}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296584079.2332721, "message": "though I think it depends on the java flavor. Some work well, others not so much.", "group_id": 81, "id": 41079}, {"user_id": 228, "stars": [], "topic_id": 1556, "date_created": 1296584240.6918831, "message": "asenchi: i smell a freebsd group being formed. you and i can talk about all sorts of topics by ourselves!", "group_id": 81, "id": 41080}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296584253.6497641, "message": "haha", "group_id": 81, "id": 41081}, {"user_id": 216, "stars": [], "topic_id": 1556, "date_created": 1296584258.537611, "message": "+1", "group_id": 81, "id": 41082}, {"user_id": 228, "stars": [], "topic_id": 1556, "date_created": 1296584302.063786, "message": "made!", "group_id": 81, "id": 41083}, {"user_id": 177, "stars": [{"date_created": 1296618716.0254331, "user_id": 1}], "topic_id": 1556, "date_created": 1296618559.390538, "message": "How to eventlet? :(", "group_id": 81, "id": 41686}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1296624863.075464, "message": "Yeah, wouldn't want to try to bridge it and luda", "group_id": 81, "id": 41999}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1296624838.6568179, "message": "i was going to eventlet with the game server i was trying to write but some interaction between it and the lua interpreter caused segfaults and i haven't pursued it since then", "group_id": 81, "id": 41997}, {"user_id": 218, "stars": [{"date_created": 1296625074.1521361, "user_id": 141}], "topic_id": 1556, "date_created": 1296625007.412456, "message": "http://www.mainlinemusic.com/white.jpg", "group_id": 81, "id": 42008}, {"user_id": 2202, "stars": [], "topic_id": 1556, "date_created": 1297625527.0569601, "message": "@ericflo, do you have any examples/tutorial on how to use eventlet for django ?", "group_id": 81, "id": 92941}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297632321.3390591, "message": "maybe its the lack of example code? I want in :)", "group_id": 81, "id": 93824}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297632329.2208321, "message": "wonder what the guys at quora are using", "group_id": 81, "id": 93826}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297632979.4621251, "message": "guess they're using Tornado http://www.quora.com/How-does-Quora-use-Tornado", "group_id": 81, "id": 93913}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297645344.3432801, "message": "I think they have wrapped all their output into custom controls so they can hook into each DOM element, I mean look at their id's e.g. ld_ES4PxP_2101", "group_id": 81, "id": 95108}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297647201.521131, "message": "Is there any code examples of setting up a server that is used for real-time web updates? i.e. holds an open connection for x seconds/minutes, then streams updates back to the client browsers....i'm dying to test this out but I certainly need a big push (pardon the pun!)", "group_id": 81, "id": 95187}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297648827.453356, "message": "they're supposed to be pretty similar though http://blog.gevent.org/2010/02/27/why-gevent/", "group_id": 81, "id": 95394}, {"user_id": 141, "stars": [{"date_created": 1297653215.770067, "user_id": 6415}], "topic_id": 1556, "date_created": 1297648761.160104, "message": "i guess we used gevent instead of eventlet for https://github.com/sixapart/typepad-feedsub-api-demo", "group_id": 81, "id": 95387}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297649569.0400269, "message": "@markpasc thanks, looks like it is 1 line: https://github.com/sixapart/typepad-feedsub-api-demo/blob/master/typefad/events.py", "group_id": 81, "id": 95467}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297649623.6185119, "message": "and then the .js https://github.com/sixapart/typepad-feedsub-api-demo/blob/master/typefad/static/jquery/jquery.ev.js", "group_id": 81, "id": 95468}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297650003.98632, "message": "yep, that Event instance acts as kind of a router or mutex for the eventing", "group_id": 81, "id": 95480}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297650054.4612131, "message": "the jquery plugin then calls into the \u201clisten\u201d view https://github.com/sixapart/typepad-feedsub-api-demo/blob/master/typefad/views.py#L139", "group_id": 81, "id": 95482}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297650104.9662631, "message": "which calls new_stream_event.wait() so other requests can be served meanwhile", "group_id": 81, "id": 95490}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297650184.185595, "message": "in this case until there's a PubSubHubbub request that eventually causes https://github.com/sixapart/typepad-feedsub-api-demo/blob/master/typefad/models.py#L138", "group_id": 81, "id": 95499}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651421.9465539, "message": "ok so once that new_stream_event.wait() is called, does processing just hang in the listen action for that user until it times out or gets a response?", "group_id": 81, "id": 95683}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651516.9983449, "message": "either way, once it returns this will be called: posts = Post.objects.order_by('-id').filter(id__gt=cursor)[:10]", "group_id": 81, "id": 95695}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651538.7924261, "message": "and if cursor was 0, so no posts will return I guess.", "group_id": 81, "id": 95703}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651601.348233, "message": "this is exactly the kind of example I was looking for, just have make sure I get it now :)", "group_id": 81, "id": 95712}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651659.8213699, "message": "so the long-polling hits the listen action, which then passes the buck to gevent via the .wait() call, now I just need to know if it hangs there or what...I thought there was a callback involved...", "group_id": 81, "id": 95716}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651372.5412891, "message": "PubSubHubbub?", "group_id": 81, "id": 95674}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297651486.1112781, "message": "so at that point, it is waiting, the ball is in gevent's court so to speak, to either send a timeout after 30 seconds or return with some content.", "group_id": 81, "id": 95689}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297672788.958432, "message": "@convy the long-polling HTTP request does block at the .wait() call, until new_stream_event.set() is called from that other place in the code", "group_id": 81, "id": 97140}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297672824.7201331, "message": "the \u201cother place\u201d in general being whatever causes new data to be available", "group_id": 81, "id": 97147}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297673123.5308349, "message": "that part is hard to trace cause some of it happens in the typepadapp package, but it's not important for the long polling part anyway", "group_id": 81, "id": 97175}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297673201.0341589, "message": "and yeah, then it looks for any new Post objects that have been saved", "group_id": 81, "id": 97185}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297673463.255111, "message": "i'm not sure what exactly you'd use in eventlet like the gevent.Event is used (GreenPool? GreenPile?), maybe somebody who knows eventlet better can say", "group_id": 81, "id": 97219}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297672842.6279099, "message": "like on Convore, for your long-polling request that's when i or anyone else says something", "group_id": 81, "id": 97150}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297673077.7600999, "message": "that particular app gets new data when TypePad sends a PubSubHubbub new content notification to another view that then causes that typefad.models.save_updates() function to run", "group_id": 81, "id": 97171}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297673176.2431209, "message": "the \u201cnew_stream_event.set()\u201d\u00a0that the other code calls is what causes the long polling HTTP request to stop blocking at the .wait() call", "group_id": 81, "id": 97182}, {"user_id": 2363, "stars": [], "topic_id": 1556, "date_created": 1297675964.825099, "message": "@markpasc eventlet.event.Event", "group_id": 81, "id": 97417}, {"user_id": 1782, "stars": [{"date_created": 1297678921.6361389, "user_id": 6415}, {"date_created": 1297696290.752759, "user_id": 5029}, {"date_created": 1297710666.367595, "user_id": 177}, {"date_created": 1297804945.6588171, "user_id": 228}], "topic_id": 1556, "date_created": 1297677688.9201219, "message": "I would not mind some good resources and tutorials about eventlet", "group_id": 81, "id": 97548}, {"user_id": 7376, "stars": [], "topic_id": 1556, "date_created": 1297693871.96872, "message": "I used it to stream aggregate log messages and emit them through streaming HTTP, it was quite nice.", "group_id": 81, "id": 100014}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297729132.4818051, "message": "@forgems ha, that's a lot more explicable. i was looking in the wrong section of the docs.", "group_id": 81, "id": 108188}, {"user_id": 11137, "stars": [], "topic_id": 1556, "date_created": 1297730883.013021, "message": "hi", "group_id": 81, "id": 108327}, {"user_id": 1, "stars": [], "topic_id": 1556, "date_created": 1297730894.00962, "message": "@oscarelpaisa hi", "group_id": 81, "id": 108328}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297737122.4451489, "message": "I guess you would have to pass session cookies around", "group_id": 81, "id": 108843}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297736251.8451231, "message": "@ericflo I know your busy, but a blog post of the web server config would be mostl appreciated :)", "group_id": 81, "id": 108794}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297737111.3405559, "message": "would it be possible to run a rails app, and have eventlet just for the 'live' updates?", "group_id": 81, "id": 108841}, {"user_id": 141, "stars": [], "topic_id": 1556, "date_created": 1297750013.1934071, "message": "yeah, you'd have to be able to access your rails session store from the eventlet code if you need to authenticate for your live content, i guess", "group_id": 81, "id": 109507}, {"user_id": 230, "stars": [], "topic_id": 1556, "date_created": 1297750282.51156, "message": "@convy It would be much more common to use something like Juggernaut or EventMachine (both Ruby) to achieve that. But if you wanted to mix Ruby and Python and hack together some sort of session sharing, it could probably be made to work.", "group_id": 81, "id": 109513}, {"user_id": 158, "stars": [{"date_created": 1297752524.00002, "user_id": 230}, {"date_created": 1297759953.512537, "user_id": 177}], "topic_id": 1556, "date_created": 1297752135.198333, "message": "We used eventlet for a short while @ Milo. It worked great for a few things, but then really bad\u2122 things start happening in production. For example, we forgot to monkey patch socket in our wsgi script and all hell broke loose. Real-time requests for products were failing and no error message was clear enough about what was going on. It was honestly just pure luck how we figured it out. We also had some issue with our memcache clients which were keeping some kind of persistent connection to memcache and we had to explicitly close the connection after every memcache request. Just really weird things that started acting up. However, resolving URLs was a real pleasure with eventlet. I'd like more maturity before I can decide on using it in a real production system again.\n\nIt might also be worth noting that we considered eventlet for the monkeypatching aspect, which basically gave the power of asynchronous i/o using synchronous coding. That, imo, is the power of eventlet and if that doesn't come out of the box, then it loses a lot of its appeal.", "group_id": 81, "id": 109568}, {"user_id": 8740, "stars": [{"date_created": 1297799092.712518, "user_id": 141}, {"date_created": 1298584545.575577, "user_id": 12142}], "topic_id": 1556, "date_created": 1297763113.6158199, "message": "For a different opinion, I was involved in writing an asynchronous stack using eventlet from the ground up for a reasonably busy sports betting site (to deliver live odds, etc.), and provided you don't monkeypatch, and instead write the code to import and use the eventlet green versions of things (of which there are many), it's fine.", "group_id": 81, "id": 110012}, {"user_id": 8740, "stars": [{"date_created": 1297772614.61938, "user_id": 1081}], "topic_id": 1556, "date_created": 1297763193.3572259, "message": "It's the same on ep.io; all of our daemons use eventlet so they can run multiple loops at once, and it's been stable as a rock. I had to write a custom greened PTY library, but I could probably have used a ThreadPool if I wasn't concerned about doing things quite as efficiently.", "group_id": 81, "id": 110028}, {"user_id": 4219, "stars": [], "topic_id": 1556, "date_created": 1297783671.149636, "message": "@mahmoudimus so what did you switch to then?", "group_id": 81, "id": 112209}, {"user_id": 228, "stars": [], "topic_id": 1556, "date_created": 1297805084.94296, "message": "the stuff @andrewgodwin is talking about is the stuff i've love to see small examples of. concurrent stuff is (in theory, at least) my focus for this year, in learning eventlet/gevent alongside scala", "group_id": 81, "id": 115350}, {"user_id": 8740, "stars": [{"date_created": 1297807539.7069099, "user_id": 1081}, {"date_created": 1297808004.7955019, "user_id": 1}, {"date_created": 1297809197.849359, "user_id": 1277}, {"date_created": 1297884208.357091, "user_id": 2062}], "topic_id": 1556, "date_created": 1297806505.3411491, "message": "I'm going to have to get around to releasing at least some of our source code to show how we structure this stuff - it's taken a few attempts, and I'm still not sure it's entirely right. One of the issues with async code is that there's a lot less collective experience to draw on.", "group_id": 81, "id": 115688}, {"user_id": 11137, "stars": [], "topic_id": 1556, "date_created": 1298564453.8945451, "message": "i want cancel this group , help me please", "group_id": 81, "id": 198738}, {"user_id": 5778, "stars": [], "topic_id": 1556, "date_created": 1298586937.342994, "message": "@oscarelpaisa You should be able to leave a group using the \"group actions\" drop down at the top right area of the page (under your username).", "group_id": 81, "id": 203041}] |