[09:00am] marzia_google: Hi, everyone, it's time for app engine chat time! [09:00am] a_a_vasiljev: hi [09:01am] marzia_google: so, let us know if you have any questions [09:01am] a_a_vasiljev: any hint about issue #1? [09:01am] marzia_google: issue #1? [09:01am] milon: hi [09:01am] adrianscottcom: great, hi, greetings from panama; current status: trying to get app-engine-patch config'd; also getting arms around i18n, decodes etc [09:02am] slav0nic left the chat room. ("õÈÏÖÕ") [09:02am] Dennis_TW: any comments about the new limits? good to have them; just wondering how it came about [09:02am] a_a_vasiljev: #1: please add java or groovy support [09:02am] psykidellic left the chat room. (Remote closed the connection) [09:02am] mcxx: marzia_google: when will you be pushing the new features? XMPP, cron jobs, etc [09:02am] marzia_google: ahhhh in the issue tracker. while we are working on support for other runtime languages, I don't have anything to announce currently [09:03am] marzia_google: generally I don't have specific dates for new features [09:03am] sar4j joined the chat room. [09:03am] marzia_google: only to say, everything listed for this quarter is still currently on track for this quarter [09:03am] mcxx: ok [09:03am] AreEmmKay: howabout things that are already half-implemented, like Cron? [09:04am] jcgregorio joined the chat room. [09:04am] Dennis_TW: does that mean billing will come out this quarter? [09:04am] Kevin_Noonan: It's wonderful to hear you're still on track! [09:04am] marzia_google: yep, billing is on track for this quarter [09:04am] marzia_google: cron is on track to be released as well [09:04am] a_a_vasiljev: I see, but WHAT languages? [09:05am] marzia_google: i can't announce any specific language [09:05am] adrianscottcom: ok good those'll be helpful [09:05am] Dennis_TW: will gae have fine-grained queuing like AWS queues? in this quarter? [09:05am] jcgregorio is now known as jcg_google. [09:05am] Wooble: Clearly it's perl, and the "abandonment" of the project to build a hardened perl interpreter was a clever ploy to make us think it isn't. [09:05am] cgeorg: I have a question about the recent news on high CPU requests [09:06am] cgeorg: Does this mean that high CPU requests will not fail, unless they are so intensive they cause a timeout? [09:06am] cgeorg: And, were datastore timeouts affected at all? [09:07am] marzia_google: re:queues I'm not that familiar with AWS queues, but I would guess we won't have anything like that this quarter [09:07am] marzia_google: re:CPU essentially that is correct [09:07am] jcg_google: cgeorg: yes, you will still be cut off at 30 seconds per request, but can use all the cpu you want during that 30s [09:07am] Wooble: I wonder if an SQS clone could be built as an appengine app rather than as a google-provided API. [09:07am] cgeorg: that's excellent [09:08am] Dennis_TW: no queues. ok, what was meant by "Task queues for performing background processing " in the road map? this is a separate line from 'Support for scheduled tasks ' which is also on the map [09:08am] cgeorg: Not that I want to use 30s of CPU mind you, but I have some intensive calculations going on sometimes [09:08am] sar4j: how is django1.0 coming? [09:08am] dan_google joined the chat room. [09:09am] sar4j: that zip import slows down app of order of 100 times [09:09am] jcg_google: sar4j: there are instructions for how to use Django 1.0 now, but we don't have a bundled Django 1.0 on the roadmap [09:09am] Dennis_TW: wobble, yes but it might be tricky and certainly tricky to test. would rather have google build it. [09:09am] pedepy joined the chat room. [09:10am] nwinter: I'm seeing widely varying response times on certain requests, with really long responses clustered together in time [09:10am] nickjohnson: sar4j: Do you have any data on that? 100 times seems high, and as far as I'm aware, zipimport should only have performance impact when first loading modules. [09:11am] mcxx: are there any more cool changes comming to SDK 1.1.20? [09:11am] nwinter: At certain times of day, regardless of usage (which is relatively low), the app becomes almost unusably slow, with some normally 1400ms requests taking up to 11500ms [09:11am] nwinter: any ideas? [09:11am] marzia_google: nwinter: it's difficult to say without having more information [09:11am] sar4j: @ jcg_google right now, i am extracting django 1.0 into app folder and uploading.. (more than 700 files) is there another (better) way? can you make it available on webservers in a non-path dir, and tell us to import it.. rather than ziploading.. [09:12am] marzia_google: if you have start up costs to your python script [09:12am] marzia_google: this could be why [09:12am] nwinter: right, I'm checking this [09:12am] marzia_google: as traffic increases [09:12am] dobee left the chat room. [09:12am] marzia_google: more interpreters are being fired up [09:12am] sar4j: @nickjohnson - no its just a simple test I am running.. if I have ziploader it goes ~2000ms, if i extract the files and upload ~85ms [09:12am] marzia_google: which is why they might be clustered more together [09:12am] nwinter: on simple requests with no datastore and low CPU, if I don't start up an interpreter, it can take ~50ms (normal) [09:12am] nickjohnson: sar4j: Are you doing multiple requests? The first request will be disproportionately expensive. [09:12am] sar4j: sorry its 20 times [09:13am] nwinter: but randomly, independent of usage, the same request with no startup can take up to 1600ms [09:13am] sar4j: yes, [09:13am] sar4j: @nickjohnson I am.. [09:13am] nwinter: and that'll happen to a bunch of requests at once, and a few seconds later it'll be fine, then slow again, etc.; or it can run fine for hours [09:13am] nickjohnson: And you're saying all requests are slower with zipimport? [09:14am] marzia_google: you could add some logging functionality to your script to see if this is due to startup costs [09:14am] marzia_google: you can't always predict when new instances would be starting up [09:14am] nwinter: I've done that [09:14am] cgeorg: marz: Were datastore timeouts affected at all? (when the CPU change went in) [09:14am] nwinter: the startup costs for that request should be ~1000-1400ms [09:15am] nwinter: and I see that when it's not doing any startup, it still varies widely from normal performance [09:15am] nwinter: I'm not running 30 active requests concurrently, either [09:16am] andialbrecht_ joined the chat room. [09:16am] jcg_google: sar4j: I seem to remember a conversation where someone got django down to a much smaller number of files, let me search [09:16am] marzia_google: cgeorg: no, datastore timeouts were not related to the CPU changes [09:16am] sar4j: @nick yes mate.. I use app-engine-patch.. like marzia_google says.. it is new instance for many times.. my app doesnot have *heavy* usage.. but for sparse requests, its almost always hitting a new instance.. so i extracted and uploaded django.. [09:16am] marzia_google: nwinter: have you checked the status site to see general system latency the times you've noticed this? [09:17am] nwinter: yeah, and at first it seemed to correspond somewhat -- increased get latency, and we'd see issues [09:17am] sar4j: @ jcg_google thanks mate.. let me know.. [09:17am] nwinter: but as we looked closer, the two didn't really match up that well [09:17am] Dennis_TW: no pre-bundled django 1.0 support planned: does this mean google will also stop supporting django-helper at some point? [09:17am] dankles joined the chat room. [09:18am] nwinter: it was doing it significantly about two hours ago, and there was no reported system status latency [09:18am] nwinter: but it's as if the serving really was pretty spotty, at least for my app [09:19am] a_a_vasiljev: May you please comment #1058? It seems that secure urls ( http://code.google.com/intl/ru/appengine/docs/python/tools/configuration.html#Secure_URLs) are broken now [09:19am] marzia_google: nwinter: i'm out of any other immediate ideas, other than to say even when everything as a system is running well, latency per app may vary [09:19am] cgeorg: one other question - does any work on app engine occur in the pittsburgh office? [09:19am] jcg_google: Dennis_TW: just said it wasn't on the roadmap, which is just a six month view of high level items, didn't say it wasn't planned [09:19am] sar4j: @ jcg_google but in any case wouldn't it be easier to put django somethere in non path, and give us a configurable app.yaml instruction or some small piece of code to patch in.. would also save a lot of space on the servers.. reducing all those copies of the same jar to ONE! [09:19am] adrianscottcom: marzia/nwinter: maybe a metric google team should track to confirm nwinter's report [09:20am] sar4j: sorry zip* [09:20am] marzia_google: re:1058 [09:20am] nwinter: if that's possible, it would be great; I can't think of anything else to try, either [09:20am] marzia_google: the fact that you were able to have Google Apps auth off of an appspot domain was an issue that was fixed [09:21am] marzia_google: but we realize that this prevents serving secure pages and using Google Apps auth [09:21am] nickjohnson: sar4j: Identical files are only stored once anyway, so it's not a storage issue. In general, it'd be nice to have, but there's an endless parade of other libraries you could say the same about. [09:21am] marzia_google: and we are working on a solution for this [09:21am] AreEmmKay: ++sar4j's iidea [09:21am] Guest37720: Does the GAE team know or plan on adding more options to the deploy/versioning process? [09:21am] a_a_vasiljev: OK, thanks [09:21am] AreEmmKay left the chat room. [09:21am] AreEmmKay joined the chat room. [09:21am] Guest37720: I'd like to be able to set a version of the app via the command line [09:22am] rizumu left the chat room. [09:22am] Guest37720: also, it would be nice if I could delete the oldest version command line [09:22am] Guest37720: we use a build system, nightly deploys and such [09:22am] Guest37720: crap.. i am guest .. need to change my nick [09:22am] nickjohnson: There is no concept of 'oldest' version - major versions are arbitrary strings [09:22am] Guest37720 is now known as MikeWesner. [09:22am] marzia_google: cgeorg: we don't generally comment on where projects are based, but I would like to give a shoutout to the 'burgh and the steelers! and my alma mater CMU [09:23am] dan_google: Guest37720: Feel free to file these feature requests using the issue tracker. [09:23am] MikeWesner: nick.. ya but if I could say delete 'version' [09:23am] MikeWesner: that would work [09:23am] cgeorg: I have been thinking of applying there [09:23am] cgeorg: This would be a fun project [09:23am] cgeorg: but, just got a promotion, so I will probably stick here a bit longer [09:23am] nwinter: my girlfriend just got into there for grad school, and she's very psyched [09:24am] nickjohnson: I think the latter would certainly be a good thing to file an issue for. You could modify appcfg.py to support taking the version on the command line fairly easily, though. [09:24am] Kevin_Noonan: Do you know of any other books which will be published on App Engine (besides O'Reilly, Manning & Apress)? [09:24am] cgeorg: nwinter: congrats to her [09:24am] dan_google: Kevin_Noonan: I saw a Wrox title in Amazon's catalog at one point. [09:25am] hollerith joined the chat room. [09:25am] dan_google: http://www.amazon.com/Professional-Google-App-Engine-Programming/dp/0470464933/ref=pd_bbs_sr_3?ie=UTF8&s=books&qid=1234977914&sr=8-3
[09:25am] nickjohnson: Kevin_Noonan: There's two from O'Reilley, in case you weren't aware [09:25am] jcg_google: sar4j: Found that conversation, Guido does this in Rietveld, http://code.google.com/p/rietveld/source/browse/trunk/make_release.sh [09:26am] Kevin_Noonan: Thanks guys. [09:26am] Dennis_TW: my app willl send a lot of email and the email limits are low. i'll likely send the emails from an external system unless gae email becomes cheap to purchase. any comments on outbound email pricing (yup, i know you don't want to support spammy apps) [09:27am] dan_google: http://www.amazon.com/Using-Google-Engine-Charles-Severance/dp/059680069X/ [09:27am] marzia_google: email pricing will be included when billing is released [09:28am] sar4j: @jcg_google will take a look.. thanks a bunch [09:28am] Dennis_TW: for your email pricing, are you considering the use case of some social networking apps that send lots of email notifications? [09:29am] AreEmmKay left the chat room. [09:29am] AreEmmKay joined the chat room. [09:29am] Wooble: the "Mail API Calls" quota isn't listed as adjustable; is this an oversight or will apps that want to send more than 7000 emails a day just be impossible? [09:29am] hollerith: first off - thanks for gae everyone involved - great stuff! [09:30am] nurey joined the chat room. [09:30am] sar4j: on emails, we cant attach .doc files.. (in this time of recession, can't we use this? for resumes :P) [09:30am] Wooble: use PDF; broke companies can't afford Word anyway [09:30am] hollerith: second - a real n00b question, I see the issue with djangoforms request.FILES['picfile']['content']? is this fixed? [09:31am] nickjohnson: sar4j: You can attach anything you like [09:31am] marzia_google: re: email the price for email isn't application dependent [09:31am] rizumu joined the chat room. [09:31am] hollerith: I don't wnat to use the webapp handler as I'm using django, [09:31am] Dennis_TW: re email: don't really understand that reply [09:32am] marzia_google: basically we will charge a flat rate per emails sent [09:32am] marzia_google: so [09:32am] marzia_google: over the initial 2000 [09:32am] nurey: hi marzia_google [09:32am] nurey: early chat today [09:33am] sar4j: @nickjohnson - no.. only some mime types are allowed http://code.google.com/appengine/docs/python/mail/attachments.html [09:33am] Dennis_TW: 2000 emails is low and if email is critical for the app, that won't do. that's fine, i just have to design around it. but i just want to know what google is thinking. will there be another limit increase for emails like there was for high cpu? [09:34am] marzia_google: for free quota, we don't have any plans to increase the 2000 limit [09:34am] Wooble: obvious solution: save emails in datastore, have remote API application on spambot zombie network^W^W^Wexternal server send them [09:34am] Dennis_TW: @wobble, yup, that's the plan [09:34am] nickjohnson: I believe it is an oversight that the various other mail quotas aren't listed as adjustable [09:35am] sar4j: @Wooble [09:35am] nickjohnson: What Marzia is saying is that you _will_ be able to purchase additional email quota [09:35am] marzia_google: hollerith: I'm not sure of the specific issue to which you are referring, but generally with issues, i'd check the issue tracker to see if it has been fixed [09:36am] beta_ joined the chat room. [09:36am] Dennis_TW: @ nikcjohnson: i think email pricing will be pretty high so i'm planning to by pass it [09:36am] sar4j: @wobble.. but there are some who really cant accept anything otherthan .doc (ms word).. I give them choice of pdf, html, hresume and txt.. they want doc!! [09:36am] Dennis_TW: i think gae is afraid of spammy apps [09:37am] Wooble: well, it's easier to make them hard/expensive to build than to make them easy and then have to police them. [09:37am] hollerith: images work with the webapp.handler but not with the django, I can see the FILES['picfile']['content'] [09:37am] nickjohnson: Dennis_TW: Out of curiosity, what do you consider high? [09:37am] nickjohnson: sar4j: What's the problem with sending doc attachments? [09:38am] Kevin_Noonan: Any plans to make this project the 'officially supported' way to use Django on App Engine? http://code.google.com/p/app-engine-patch/ [09:38am] DineshV joined the chat room. [09:38am] scudder joined the chat room. [09:38am] Dennis_TW: @wooble, yes, i agree. i hear amazon is very strict on spam in their hosted apps [09:38am] ryan_google joined the chat room. [09:39am] sar4j: @nickjohnson, it wont attach.. only those mimes are goign through.. well to be honest, I tried this a month ago.. unless something changed...... [09:39am] hollerith: the examples use webapp but I'm using djangoforms, I don't really want to use the patch either, I wish I'd just started with webapp [09:39am] sar4j: @ Kevin_Noonan I use that.. very good! [09:39am] Dennis_TW: @ nickjohnson, i'm not sure, but 2000 emails (or email addresses) per day is pretty low. how am i suppose to build facebook2 on that budget? [09:39am] nickjohnson: sar4j: The Mail API doesn't care what you're attaching - it's just a binary blob. But if you still have problems, a reproduceable test-case would be good. [09:39am] sar4j: ++Kevin_Noonan [09:39am] nwinter: hollerith: I don't know what issue you refer to, but we're using Djangoforms are request['picfile']['content'] just fine [09:40am] nickjohnson: Dennis_TW: The default limit may not reflect pricing, simply due to spam concerns on free accounts. [09:40am] darwin joined the chat room. [09:40am] hollerith: nwinter: really I googled some issues - have you upped from .96? [09:40am] nwinter: nope [09:40am] scudder: Dennis_TW: if you need to send more emails, fill out the quota increase form, usually it is no problem though the increases are granted on a case by case basis [09:40am] nwinter: let me retest it to make sure [09:40am] sar4j: @nickjohnson sure thing.. will try again in the evning.. and open a ticket if need be [09:40am] dan_google: Why would we "officially" support app-engine-path when Waldemar is already doing an awesome job in supporting it? [09:40am] hollerith: and you just put it straight in a Blob? [09:41am] mib_mqpy60kr joined the chat room. [09:41am] Dennis_TW: @ nickjohnson and scudder, yes, i guess you are right. [09:41am] nwinter: @hollerith: what's the issue #? [09:43am] Dennis_TW: @google, i plan to send lots of email. should i start with the gae limit and ask for more (like 10x more) if i need it? or should i just go external with my email? [09:43am] Kevin_Noonan: OK, but there are competing ways to use Django on App Engine--developers have to decide which one to use. [09:43am] dan_google: FYI: We added an article about app-engine-patch to our articles section, written by Jesaja Everling. [09:43am] hollerith: well the content looks like \x020... I'm still using a webapp handler to serve the image but I get nothing. [09:43am] ryan_google: @dennis, if you don't mind paying for it, definitely start with us! [09:44am] hollerith: basically it would be okay just to get request.FILES['picfile']['content'] and stick it in a blob to be served as in the examples? [09:44am] ryan_google: (specifically, paying for what you need to send beyond the free quota) [09:44am] nickjohnson: Dennis_TW: It's safe to say emails will cost fractions of a cent (I realise that's a fairly wide range) [09:44am] hollerith: the imagesharing example etc. [09:44am] Dennis_TW: @google, billing pricing including email will be out in 6 weeks along with real billing [09:44am] nwinter: it's potentially different live (this code hasn't been uploaded yet), but I'm doing that on dev server and it's working [09:45am] hollerith: it doesn't fail - it can't serve the image, I think the binary is mush. [09:46am] Kevin_Noonan: @dan_google Thanks, I wasn't aware of that article by Jesaja Everling--I guess that means that app-engine-patch *is* officially sanctioned! [09:46am] cying joined the chat room. [09:46am] scudder is now known as scudder_google. [09:47am] nwinter: img = images.Image(pfile['content']) [09:47am] nwinter: user.photo = img.execute_transforms(output_encoding=images.JPEG) [09:47am] ryan_google: @kevin_noonan, an article doesn't necessarily mean we officially support it, but it definitely does mean we think highly enough of it to post on our site [09:47am] ryan_google: (appengine.ext.search is another example) [09:47am] dan_google: Kevin_Noonan: AEP is definitely cool, and I'm more than happy to mention it alongside the Helper as an option. [09:47am] rizumu left the chat room. [09:48am] MikeWesner: So, If I don't use the helper's django model junk... is their a good reason to use one or the other? AEP vs. helper ? [09:48am] a_a_vasiljev: @dan_google, cause ae-patch often need to be tweaked (fixed) after new gae release. "Official" means next gae version is tested with it. [09:48am] Kevin_Noonan: @ryan_google That's a politician's (or a lawyer's or a Jesuit's) fine distinction! [09:50am] Dennis_TW: @ae-patch folks, are you happy with it? i'm not sure what he does for many-to-many models. it does not seem like i can just ignore that i'm running on gae datastore. i'm leaning towards 'close to the metal' control over my datastore model [09:51am] hollerith: confused, my img_data looks like \x89PNG\r\n\x1a\n\x00\x00\x00\rIH..., what's pfile? [09:51am] ryan_google: @kevin_noonan, not sure. for example, a a vasiljev described one difference. regardless, the high order bit is that it works and that we want to help when and where we can [09:51am] dan_google: a_a_vasiljev: Understood. I don't think the Helper gets that kind of support either, the Helper is just an open source project that happens to be by Googlers. I believe the Helper intentionally takes a more conservative stance on patching so as to not depend on stuff behind the supported API and break with minor versions. [09:51am] nwinter: hollerith: oh: pfile = request.FILES['photofile'] [09:53am] nwinter: that's what the blob should look like if you print it... [09:54am] a_a_vasiljev: sure, it's fair. I just wonder if there could be some way to make aep more "stable" from one gae release to another... [09:55am] nwinter: when serving the photo up, it has its own handler, which is essentially: return HttpResponse(user.photo, mimetype="image/jpeg") [09:56am] apphacker joined the chat room. [09:56am] cgeorg: off to my meeting. Thanks googles [09:56am] ryan_google: one high level answer to this class of problems is that we intentionally try to avoid including libraries in the app engine project. we're a small team, and we have our hands full with just development. we don't have the extra resources that we'd need to also maintain a distribution of libraries, apply patches and upgrades, etc. [09:56am] cgeorg: *googlers [09:56am] Dennis_TW: no ae-patch pros or cons?? here's a thread on performance http://groups.google.com/group/app-engine-patch/browse_thread/thread/1a43a072b681c2f8?q= [09:56am] ryan_google: (i know we're not necessarily thinking of including the helper or aep here, just officially supporting them, but it's a similar problem) [09:57am] apphacker: hi [09:57am] apphacker: is there an archive of the talk today? [09:57am] randylien left the chat room. [09:57am] marzia_google: we will be posting a transcript on the group [09:57am] apphacker: ok thanks [09:57am] hollerith: nwinter: thanks for your help, much appreciated. I think _I_ may be the weak link here... I'll have another look [09:58am] Kevin_Noonan: Are you getting ready for a big press splash after the release of Q1's new features--and a tsunami of new developers after the release of new language X? [09:58am] nwinter: no problem; I didn't write this code, my partner did, so I'm just reading it off to ya [09:58am] a_a_vasiljev left the chat room. (Read error: 54 (Connection reset by peer)) [09:59am] ryan_google: @kevin, we hope so! [09:59am] hollerith: well thanks all round oh and I see Jeff Scudder there - thanks for the gdata stuff too, I'm using it.. [09:59am] nwinter: marzia: is there a channel I can go through to request someone look at the performance of my app (id: skrit)? I'm at a loss here. [09:59am] sar4j: I am back [10:00am] marzia_google: the best channel is the group [10:00am] a_a_vasiljev joined the chat room. [10:00am] nwinter: okay; thanks [10:01am] sar4j: guys.. have any rough idea on java / groovy support? [10:01am] scudder_google: hollerith: glad to hear it, drop me a line, I'm curious to know a bit more about what you're building [10:01am] ianbicking joined the chat room. [10:01am] ryan_google: @sar4j, sorry, we haven't announced any specific language(s) yet [10:02am] ryan_google: i'm off. thanks for coming, all! [10:02am] a_a_vasiljev: Thanks for your work and your company! bye [10:02am] ryan_google left the chat room. ("Leaving.") [10:02am] sar4j: thats's cool.. just asking.. would lov to have it around.. [10:02am] a_a_vasiljev left the chat room. (Client Quit) [10:03am] jcg_google is now known as jcgregorio. [10:03am] marzia_google: ok, with that, I'm going to call this chat time officially closed [10:03am] marzia_google: thanks everyone for coming! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---