[appengine-java] Re: Transactions on entities in different entity groups ?
SERIOUSLY??? (why don't you give any visibility on this key feature, like you did with FTS?) On Sep 28, 10:52 pm, Ikai Lan (Google) ika...@google.com wrote: You currently can't, but we plan on rolling out a feature that will do this in the next few releases. It's currently in trusted tester at the moment. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Mon, Sep 26, 2011 at 10:59 PM, Santosh kumar kopp@gmail.com wrote: Hi, I want to know how to create/update the entities which are in different entity groups ? for ex: I want to update the *apple* and *carrot* entities in a transaction but those parents are not same. (Here i am in such a situation) Thanks in advance :) *S*antosh *K*umar *K* http://www.accountingguru.in/** -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Storing query results in memcache
Hi Ian, Thanks for sharing your strategy.. I am not sure if I understand exactly how could I use your system to solve my problem. Actually, the memcache concept is working nice solving similar, but simpler situations. I think I explained poorly my situation. Here it is: An application manages contacts. It actually has thousands of them. On the GUI side we have a listview, an editview and a createview. The list view has 4 columns, and is paged (30 records per page) and by default is sorted ascending by the first column. I can search the listview by issuing queries serverside (I want the results always ordered and paged accordingly). Now, a user clicks on new contact. The application goes into createView. Data input then save. Application goes to list view. The contact should have been in the first page, but it isn't. After a few seconds, it appears. The previous example with phone numbers is kind of the same issue, but with simpler queries: User modifies a contact by adding some phone numbers. Hits save and goes to list view, then he remembers that one number was wrong and goes back to editing the same contact. The phone numbers inserted seconds ago aren't there. In this case, (since for other reasons I the phone numbers entities cannot be children of the contact entity) every phone number entity has a property called contactId that points to the father contact. The solution employed in this simple case is storing in the memcache the phone numbers by using contact-based keys so that for example [code] memcache.get(MEMCACHE_phones_contactId_1234) [/code] would give me an all the phone numbers for contact having id=1234. Somehow (too long and boring to explain how) I manage to keep this array always up to date so when the user returns lightning-fast to the editview the newly inserted phone number are there, only that they are read from the memcache. Analogically, how could this be done for the fore-mentioned listview situation, where the query is much more complex? Hope I didn't confused you more.. Thanks, Cristian -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/3kOA7GAMTQUJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] allow App Engine apps to act as OAuth service providers
Would love to add a custom email password ... against my appengine service. To add this i would love to add my own oauth provider. I found this http://ikaisays.com/2011/05/26/setting-up-an-oauth-provider-on-google-app-engine/ . Question: is there an example using java? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/-i5DxjOXfFEJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: GAE - Vote counting system
Price: - with backends lets say 3 B2 machines = 350USD/Month - UrlFetch Data Sent/Received 0,15USD/GB Limit: - URL Fetch Daily Limit 46,000,000 calls this can be a problem...but I see it is possible to request an increase Write data parallel in DB: Task Queue with rate every 30second could be a solution (check timestamps in cache and write in DB) RESET counters = empty cache in Backends reset counter of object in DB Backends cache = HashMap with shared counter values or counter values without sharding (just increment value in java hashmap is fast enough) With backends we don’t need sharding I thinkwhat do you think? Thx. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: GAE - Vote counting system
It's hard to say here if we're talking about the same thing, but here's how I would do it: * Updates go through to the backend, which stores write deltas in ram (not the total). * Reads read-through memcache into the datastore. * The backend writes deltas to the datastore in batch, updating memcache, then purging the delta from memory. * The backends can write once every 5 mins or 30s or however long you're comfortable having read data be stale. More freshness == more datastore expense. It's a simple dial. This system is not limited by backend RAM since each backend stores only deltas - you can probably run the smallest size. It won't be limited by read volume, which will come almost entirely from memcache. It will be limited by max request throughput on the backend. Given the update is practically a no-op, how many QPS can a single backend serve? That's your limit (times the number of backends running). I think you'd be hard-pressed to find a better solution to this problem on GAE. It does require that reads be stale to with a controlled bound, though. Jeff On Thu, Sep 29, 2011 at 5:47 AM, Peter Dev dev133...@gmail.com wrote: Price: - with backends lets say 3 B2 machines = 350USD/Month - UrlFetch Data Sent/Received 0,15USD/GB Limit: - URL Fetch Daily Limit 46,000,000 calls this can be a problem...but I see it is possible to request an increase Write data parallel in DB: Task Queue with rate every 30second could be a solution (check timestamps in cache and write in DB) RESET counters = empty cache in Backends reset counter of object in DB Backends cache = HashMap with shared counter values or counter values without sharding (just increment value in java hashmap is fast enough) With backends we don’t need sharding I thinkwhat do you think? Thx. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] allow App Engine apps to act as OAuth service providers
There are several Java OAuth client samples referenced here: http://turbomanage.wordpress.com/2011/08/25/using-the-gae-app-identity-api-and-oauth2/ HTH, /dmc On Thu, Sep 29, 2011 at 7:20 AM, brand´s mill brandsm...@googlemail.comwrote: Would love to add a custom email password ... against my appengine service. To add this i would love to add my own oauth provider. I found this http://ikaisays.com/2011/05/26/setting-up-an-oauth-provider-on-google-app-engine/ . Question: is there an example using java? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine-java/-/-i5DxjOXfFEJ. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- David Chandler Developer Programs Engineer, GWT+GAE w: http://code.google.com/ b: http://turbomanage.wordpress.com/ b: http://googlewebtoolkit.blogspot.com/ t: @googledevtools -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Transactions on entities in different entity groups ?
A month or so ago Google posted a request for trusted testers for this feature. It helps to read the mailing lists :-) Jeff On Thu, Sep 29, 2011 at 2:05 AM, Cyrille Vincey cvin...@qunb.com wrote: SERIOUSLY??? (why don't you give any visibility on this key feature, like you did with FTS?) On Sep 28, 10:52 pm, Ikai Lan (Google) ika...@google.com wrote: You currently can't, but we plan on rolling out a feature that will do this in the next few releases. It's currently in trusted tester at the moment. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Mon, Sep 26, 2011 at 10:59 PM, Santosh kumar kopp@gmail.com wrote: Hi, I want to know how to create/update the entities which are in different entity groups ? for ex: I want to update the *apple* and *carrot* entities in a transaction but those parents are not same. (Here i am in such a situation) Thanks in advance :) *S*antosh *K*umar *K* http://www.accountingguru.in/** -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Quiz
What is the output of the following method? public boolean whatDoesItDo() { try { if(true) { throw new IllegalStateException(); } return true; } finally { if(true) { return false; } } } Have a nice time figuring it out ;-) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Quiz
That's easy. You are not supposed to return a value in the finally block since it overwrites any previous return values and also any exceptions that are thrown. Return statements in a finally block are a big NO-NO. Stephen CortexConnect.com On Thu, Sep 29, 2011 at 3:36 PM, gk goran.kar...@googlemail.com wrote: What is the output of the following method? public boolean whatDoesItDo() { try { if(true) { throw new IllegalStateException(); } return true; } finally { if(true) { return false; } } } Have a nice time figuring it out ;-) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Quiz
So the answer is false. Forgot to actually state that. On Thu, Sep 29, 2011 at 3:44 PM, Stephen Johnson onepagewo...@gmail.comwrote: That's easy. You are not supposed to return a value in the finally block since it overwrites any previous return values and also any exceptions that are thrown. Return statements in a finally block are a big NO-NO. Stephen CortexConnect.com On Thu, Sep 29, 2011 at 3:36 PM, gk goran.kar...@googlemail.com wrote: What is the output of the following method? public boolean whatDoesItDo() { try { if(true) { throw new IllegalStateException(); } return true; } finally { if(true) { return false; } } } Have a nice time figuring it out ;-) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] .A research: how long will your java app instance start up fully?
? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Google App Engine Internet Crawler
Thank you very much for the lead . Being a newbie in appengine makes it harder for me. :D -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: .A research: how long will your java app instance start up fully?
~10s -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Quiz
Hi return false ,finally must be excute. On Fri, Sep 30, 2011 at 4:06 AM, gk goran.kar...@googlemail.com wrote: What is the output of the following method? public boolean whatDoesItDo() { try { if(true) { throw new IllegalStateException(); } return true; } finally { if(true) { return false; } } } Have a nice time figuring it out ;-) -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Thanks Regards R.Prabakaran -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: .A research: how long will your java app instance start up fully?
15s On Sep 30, 9:29 am, Tapir tapir@gmail.com wrote: ? -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [google-appengine] xmpp custom JID does not working?
yes, i saw the overview section mentioned the 'xmpp.send_invite' function. but i cannot find any reference about it. actually the link to the function does not contain anything regarding this topic. i wonder if this function is still available. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/-D-b2tkUl2IJ. 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.
Re: [google-appengine] Re: The Max Idle Instances setting is really lame.
On 29 September 2011 09:20, Tapir tapir@gmail.com wrote: ok, then it is really not very helpful for performance, it is just a way to limit the cost. right? Yup On Sep 29, 7:14 am, Barry Hunter barrybhun...@gmail.com wrote: Sounds like you have misunderstood Max Idle Instances. Its the maximum number you will be charged for. It is not a guarantee. If you have spiky traffic, it might mean you will have spare capacity ready to handle more requests. Wont help with the first spike. Think you looking for Min Idle Instances. That is only available right now if you have purchased Always On I bleive. Once the new pricing goes live, it will be open to all. On Thu, Sep 29, 2011 at 12:07 AM, Tapir tapir@gmail.com wrote: It is not very useful. When I set it 3, gae will still only keep one idle instances, so my app will still encounter slow startup when 2 visits coming at the same time. Setting it higher is helpless to avoid the java app slow startup problem. I just found the only difference between set Max Idle Instances as 1 and 3 is the total used CPU hours, about 25:29, which means except the free 24 hours, the total used CPU hours is 1:5. -- 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 athttp://groups.google.com/group/google-appengine?hl=en. -- 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. -- Emlyn http://my.syyn.cc - Synchonise Google+, Facebook, WordPress and Google Buzz posts, comments and all. http://point7.wordpress.com - My blog Find me on Facebook and Buzz -- 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.
[google-appengine] urlfetch maximum interactive timeout why 10 seconds and not 20?
I have integrated my site with a cool online payments service. They provide an API for online payments that I access from the server side using the urlfetch() API. Unfortunately, once in a while their service takes a little bit more than 10 seconds to respond on the pay API, so the payment goes through but my code gets a timeout and reports an error to the user which is very frustrating. I am trying to get the online payments vendor to improve their response times but I was wondering why did you pick 10 instead of 20 seconds for the urlfetch maximum timeout. In 30 seconds there is enough time to get in, do a 20 second urlfetch and return in worst case. Thanks, PK PS Yes I have thought of doing the urlfetch from a task but the code gets pretty complicated pretty fast. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/_XOIkkQnAzUJ. 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.
[google-appengine] Re: urlfetch maximum interactive timeout why 10 seconds and not 20?
it's annoying isn't it. could you catch the error and query the api again to check payment status? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/3I5OnWzDAvIJ. 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.
[google-appengine] Re: Problem with blobstoreService.getUploadedBlobs(request)
I think that in all cases, if I send a form without file inside, google blobstore create an empty blob... I can see it in Blobstore vievwer. This strange behavior is only on the google server, not on localhost... On 28 sep, 17:25, Bat batistutagabrielf...@gmail.com wrote: Hi, I've a problem with the methode blobstoreService.getUploadedBlobs(). I've a JSP page in wich one I set an uploader like this : formname='form' action='%= blobstoreService.createUploadUrl(/ Edit_Engine) %' method='POST' enctype='multipart/form-data' input label='...' multiple='false' name='myFile' / //...and multiple input for text /form and I retrieve this code with my servlet : java.util.MapString,BlobKey blobs = blobstoreService.getUploadedBlobs(req); BlobKey blobK = blobs.get(myFiles[]); //I don't know why I need to add the characters 's[]' at the end... But the behavior is strange. The first time I upload an image, everything works. However, the second time, I send my form without uploading somehting (only text data), and then my java code finds a BlobKey. But this BlobKey seems to be the previous sended data, or a corrupted data. I mean that not normal, because when I deploy this version on my localhost, if the form uploads no file the method getUploadedBlobs returns an empty HashMap. However, when I deploy on google servers, if the form uploads no file, the method getUploadedBlobs seems to return a HashMap with wrong data. Could you help me? Or tell me if this behaviro is normal... Many thanks, bat -- 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.
[google-appengine] retrieve Blob key after upload without HttpServletRequest (Java api)
Hi, I'm using Play Framework to build apps on GAE and as you may know, Play is not Servlet based. So no HttpServletRequest... In the blobstore case, we have a problem to retrieve the blobkey after uploading the file. So upload works perfectly from the url returned by : blobstoreService.createUploadUrl(/upload) Google stores the blob and then calls back the /upload handler of my app but I can't find the blobkey in the header and I can't use the : MapString, BlobKey blobs = blobstoreService.getUploadedBlobs(req); which requires the HttpServletRequest I don't have in Play! Any other solution to retrieve the blob key of the uploaded file? (I read the experimental paragraph at the end of the doc but I wonder if there is a simpler way to do it) Thanks Pascal -- 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.
Re: [google-appengine] Re: API call datastore_v3.Put() required more quota ?
If you delete many entities it's faster to use a cursor. An entity is marked as deleted and will physically be removed in the datastore at a later time. It takes time to skip the marked entities when executing a query. The loop can be modified as such, no need to use count() as it uses CPU and time also, if the result set is empty there are no entities. try: cursor = None while True: q = Documents.all(keys_only=True) if cursor: q.with_cursor(cursor) result = q.fetch(200) if not result: break cursor = q.cursor() db.delete(result) except Exception, e: self.response.out.write(repr(e)+'\n') pass Op 16 september 2011 18:24 heeft sofia sofiacard...@gmail.com het volgende geschreven: I have the same problem.. Datastore quota at 100% and unable to delete an entity either through admin or using map/reduce. What I did is set up a script to delete x records at a time. I've managed to decrease data by 45% in 2 days but I then hit cpu quota so I'm guessing it's gonna take a few more days until I'm able to delete all the data. What i did was set up this script, bulkdelete.py: #!/usr/bin/env python # -*- coding: UTF-8 -*- # # import time from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db from lib.model import Documents class BulkDelete(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' mod = self.request.get('m') if not mod: exit try: while True: q = db.GqlQuery(SELECT __key__ FROM Documents ORDER BY date ASC) assert q.count() db.delete(q.fetch(200)) time.sleep(0.5) except Exception, e: self.response.out.write(repr(e)+'\n') pass # init application = webapp.WSGIApplication([('/bulkdelete', BulkDelete)],debug=True) def main(): run_wsgi_app(application) if __name__ == '__main__': main() and then call it each 5 min through cron.yaml. -- 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.
[google-appengine] Re: Problem with blobstoreService.getUploadedBlobs(request)
Probably you are seeing http://code.google.com/p/googleappengine/issues/detail?id=4548 -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/83XvpUE1LikJ. 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.
[google-appengine] Re: urlfetch maximum interactive timeout why 10 seconds and not 20?
Hi PK, We build a 500 qps website that do handle the payments from two payment gateways: PayPal and PagSeguro (from Brazil). Both suffer for those problems, and we only was able to solve this by using Task Queues. What we do is to proccess using this workflow: 1. User is redirected to payment gateway 2. Gateway charges the user 3. User goes back to our site, and we show a message like Thanks for buying, your order is processing. Click here to see the order details. 4. Asynchronously, the gateway notifies the payment status (sometimes it takes a few minutes or even ours to the order be approved entirely from PagSeguro). 1. We receive the notification, and schedule a task queue with all the parameters to be processed in background. This idea that just *forward * the post from the gateway to be a task queue, and avoid deadlines. Usually, the overall process (except when the payment isn't approved instantaneously) is very fast, and we don't have the user-facing problem. Hope this help, - Ronoaldo -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/_82EtpAUcKYJ. 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.
[google-appengine] Re: hosting a c compiler on gae
I have worked on this topic before and let me tell you your requests are childish what where you thinking while you were writing your coding website on gae? other than these, you can easily create a compiling and running service, which will work asynchronously and notify gae when the process is finished. you can build it on Amazon for example. and again, let me tell you, all the coding websites out there works like this. so improve yourself a bit, don't expect everything from gae On Sep 28, 7:56 pm, madmax mahendra0...@gmail.com wrote: Hi, It looks like I have to move away from app engine if I want to host a compiler. I did a thorough search and seems no way I can host a compiler on gae efficiently. Sad that I will have to rebuild the website again from scratch to the specifications of another infrastructure. Last hope.. Any alternatives possible?? Even remote possibilities . Does google provide any instances?? App engine should provide more features to developers to make itself as a serious platform for web development. Thanks and Regards, Mahendra Naik On Aug 2, 8:28 am, Robert Kluin robert.kl...@gmail.com wrote: Or compilers implemented in Java. Might be more likely to find those. On Mon, Aug 1, 2011 at 21:54, Greg g.fawc...@gmail.com wrote: You could have another server provide a compile service, and have your Appengine app communicate with it via URLfetch, as you suggest. There will be inefficiencies here obviously, and you'll have to contend with the URLfetch size and time limits. You could also look for pure python compilers, which could run on Appengine. Cheers Greg. On Jul 31, 10:45 pm, madmax mahendra0...@gmail.com wrote: Hi, I am writing a coding website. I want to provide an option to the users to compile their c,c++ or java code. Basically I want to host a compilerin my app. Some google links said that it is not possible to host an external program on gae. Is there any alternative? Like connecting to a Linode or linking to amazon ec2 ?? Any pointers would be great. Thanks and Regards, Mahendra Naik -- 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 athttp://groups.google.com/group/google-appengine?hl=en. -- 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.
[google-appengine] Re: Managing Dev and Live versions
You should also take a look at multitenancy / namespaces (same feature, 2 different names for it). http://code.google.com/appengine/docs/python/multitenancy/ I'd guess it can also be done in Java, my GAE experience is all Python. In Python, you setup the default namespace for a request in your appengine_config.py based on more or less whatever logic you want, so easy to do it based on the URL hostname prefix. The namespace effectively gives a soft partitioning of the datastore memcache (I say soft, as it's possible for a request handler to access all namespaces, if it wants to). -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Pk1TxNpIgz8J. 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.
[google-appengine] Re: Ajax
Now I have this error: File /base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py, line 344, in find_filter raise TemplateSyntaxError, Invalid filter: '%s' % filter_name TemplateSyntaxError: Invalid filter: 'safe' -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/cF0btCvUZvcJ. 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.
Re: [google-appengine] Re: Ajax
You are using the old version of django, 0.96. You need to switch to django 1.2. On Thu, Sep 29, 2011 at 9:14 AM, Max massimiliano.pietr...@gmail.com wrote: Now I have this error: File /base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py, line 344, in find_filter raise TemplateSyntaxError, Invalid filter: '%s' % filter_name TemplateSyntaxError: Invalid filter: 'safe' -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/cF0btCvUZvcJ. 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. -- 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.
Re: [google-appengine] Re: Ajax
I don't know how can I do it. I'm not an It. I have my code and I have deploy it in the cloud. This is the error I see in the online app. Have I to import something specific? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/-nF75G5s44YJ. 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.
[google-appengine] Re: hosting a c compiler on gae
@Jeff Schnitzer : My app provide programming tests to users. Users can code the solutions in c or c++. I am planning to provide a feature where the users can compile their code and test for correctness. Obviously they wont be running the code. Have tried many ways to implement this feature. The obvious solution would be to have a Linode or EC2 backend and let the compilation be done there. But it would be more efficient to have something supported on gae. Now i kno there is no way to do it than source the code to EC2 or Linode. @Ikai Lan : Thanks for the suggestion and will try the solution . @Kaan Soral: I know how the coding websites work and have written one myself. And I don't want to write something which already exists. Don't you call me childish, I know what I am doing and I assume you understand that requirements for an app come out of nowhere when you run a customer centric application. If you are not clear with what I have written please ask me to clarify , I would be happy to do that. If you don't have patience for that or don't feel like doing it, well its ur choice. But don't call me childish. On Sep 29, 5:17 pm, Kaan Soral kaanso...@gmail.com wrote: I have worked on this topic before and let me tell you your requests are childish what where you thinking while you were writing your coding website on gae? other than these, you can easily create a compiling and running service, which will work asynchronously and notify gae when the process is finished. you can build it on Amazon for example. and again, let me tell you, all the coding websites out there works like this. so improve yourself a bit, don't expect everything from gae On Sep 28, 7:56 pm, madmax mahendra0...@gmail.com wrote: Hi, It looks like I have to move away from app engine if I want to host a compiler. I did a thorough search and seems no way I can host a compiler on gae efficiently. Sad that I will have to rebuild the website again from scratch to the specifications of another infrastructure. Last hope.. Any alternatives possible?? Even remote possibilities . Does google provide any instances?? App engine should provide more features to developers to make itself as a serious platform for web development. Thanks and Regards, Mahendra Naik On Aug 2, 8:28 am, Robert Kluin robert.kl...@gmail.com wrote: Or compilers implemented in Java. Might be more likely to find those. On Mon, Aug 1, 2011 at 21:54, Greg g.fawc...@gmail.com wrote: You could have another server provide a compile service, and have your Appengine app communicate with it via URLfetch, as you suggest. There will be inefficiencies here obviously, and you'll have to contend with the URLfetch size and time limits. You could also look for pure python compilers, which could run on Appengine. Cheers Greg. On Jul 31, 10:45 pm, madmax mahendra0...@gmail.com wrote: Hi, I am writing a coding website. I want to provide an option to the users to compile their c,c++ or java code. Basically I want to host a compilerin my app. Some google links said that it is not possible to host an external program on gae. Is there any alternative? Like connecting to a Linode or linking to amazon ec2 ?? Any pointers would be great. Thanks and Regards, Mahendra Naik -- 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 athttp://groups.google.com/group/google-appengine?hl=en. -- 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.
Re: [google-appengine] Re: Ajax
Use the process below, and specify '1.2' is the version: http://code.google.com/appengine/docs/python/tools/libraries.html#Django On Thu, Sep 29, 2011 at 9:38 AM, Max massimiliano.pietr...@gmail.com wrote: I don't know how can I do it. I'm not an It. I have my code and I have deploy it in the cloud. This is the error I see in the online app. Have I to import something specific? -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/-nF75G5s44YJ. 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. -- 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.
[google-appengine] Null version
I'm not sure if this is a GWT issue or a GAE issue. However, I have used the remote api to initialize my database. When I query via the remote api I get back all the data including the version just fine. The problem is when I am trying to get data from my entity all the fields are ok except the version field. I am using an entity proxy with request factory for GWT. @Version @Column(name = version) private Integer version; public Integer getVersion() { return this.version; } public void setVersion(Integer version) { this.version = version; } I also have this in my locator: @Override public Object getVersion(Country domainObject) { return domainObject.getVersion(); } Regards, Pavel -- 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.
Re: [google-appengine] Re: hosting a c compiler on gae
On Thu, Sep 29, 2011 at 8:58 AM, madmax mahendra0...@gmail.com wrote: @Jeff Schnitzer : My app provide programming tests to users. Users can code the solutions in c or c++. I am planning to provide a feature where the users can compile their code and test for correctness. Obviously they wont be running the code. Have tried many ways to implement this feature. The obvious solution would be to have a Linode or EC2 backend and let the compilation be done there. But it would be more efficient to have something supported on gae. Now i kno there is no way to do it than source the code to EC2 or Linode. If all you want is a compiler frontend (parser, typechecker), you might be able to get away with porting it to something you can run in a GAE app. That this code is almost 100% algorithmic and you should be able to compile it something else, either java (to run on GAE) or javascript (to run in the browser itself). I would seriously consider going the javascript route and doing it all in the browser. Compared to running DOOM in the browser (see http://www.readwriteweb.com/hack/2011/05/doom-ported-to-javascript-and.php), running a compiler frontend should be easy. Looks like they used this tool: https://github.com/kripken/emscripten/wiki This actually looks easier (and more fun) than setting up a compile farm somewhere, plus it would give you a slick user experience. You could even blog about it and probably get the story picked up by hacker news. Jeff -- 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.
[google-appengine] Re: Request: Memcache Issue
Thanks Tom - one thing I'll mention is that this cache works outside of Objectify, so if you want a DatastoreService that will transactionally and transparently utilize memcache to reduce your datastore reads, please star the issue: http://code.google.com/p/googleappengine/issues/detail?id=4874 It works now, just performs poorly for large batch get()s. You can find install documentation here (although you'll need to checkout and build Objectify from trunk for now): http://code.google.com/p/objectify-appengine/wiki/MemcacheStandalone Jeff On Thu, Sep 29, 2011 at 6:49 AM, Tom Carchrae carch...@gmail.com wrote: One of the tools I use a lot with App Engine is Objectify - which makes for a simple and hassle free way of using the Datastore. The developer of this tool, gives awesome support, quick bug fixes, and a tool that takes the pain away. This is an unabashed request for your help to make that tool, and App Engine's Memcache service even better by having better support for batch gets. For a rundown on the issue, read this thread: http://groups.google.com/group/objectify-appengine/browse_frm/thread/e564deeeccedc036 If you're lazy/busy and that is tldr; it would be great if you can star this issue to help make App Engine better: http://code.google.com/p/googleappengine/issues/detail?id=4874 - Likewise, if you're not lazy and have time - or even better, work at Google and could fix it, then please considering helping out to find a solution. If you don't know anything about Objectify, there is a great overview of it here from this years GoogleIO: http://www.google.com/events/io/2011/sessions/highly-productive-gwt-rapid-development-with-app-engine-objectify-requestfactory-and-gwt-platform.html Tom -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- 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.
[google-appengine] Per thread requests
Hi all, i'm struggling to understand how the perTrheadRequest works in AppEngine, in terms of performance. Can anyone give me some clue? I can't get thinks like this : RemoteServiceServlet rss = (RemoteServiceServlet)service; rss.init(this.getServletConfig()); rss.perThreadRequest = this.perThreadRequest; rss.perThreadResponse = this.perThreadResponse; Or the ThreadLocalHttpServletRequest. Any code snippets, java if you can, are welcome. Thanks. -- 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.
[google-appengine] Can't deploy. I'm stuck at precompilation.
Does anybody have the same problem ? Francois -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/CtQ1ZM4qUK8J. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
On Sep 30, 7:25 am, Tapir tapir@gmail.com wrote: and with Max Idle Instances set as 3. There MUST be a bug in gae instance scheduler. If it is not a bug, it MUST be a bad implementation. After some researches, I find If there is only one instance is running, the scheduler always avoids using it to handle a new coming request, even if the idle instance is idling. Instead, the scheduler always tries to open a new instance to handle the new coming request. As a result, the visitor must wait 15s to load the page. This problem is intolerable specially for websites with very small traffic. Almost very visit will wait for 15 seconds. A spelling error here. It should be Almost every visit How a good scheduler should do? 1. always use the current idle instance if it is available. 2. at the same time, create a new instance for potential new concurrent requests. It is just that simple. -- 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.
[google-appengine] how long will the new Max Idle Instances setting is applied when it is changed?
I haven't changed it for half a hour. But it is still not applied. -- 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.
[google-appengine] Re: how long will the new Max Idle Instances setting is applied when it is changed?
A question: if I set the Max Idle Instances as 1, then the Min Pending Latency must be unlimited? On Sep 30, 7:50 am, Tapir tapir@gmail.com wrote: I haven't changed it for half a hour. But it is still not applied. -- 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.
[google-appengine] Re: how long will the new Max Idle Instances setting is applied when it is changed?
about 1 hour past, the new setting is still not applied. On Sep 30, 7:50 am, Tapir tapir@gmail.com wrote: I haven't changed it for half a hour. But it is still not applied. -- 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.
[google-appengine] Re: how long will the new Max Idle Instances setting is applied when it is changed?
applied now. So the time to apply new settings is 1 hour. On Sep 30, 7:50 am, Tapir tapir@gmail.com wrote: I haven't changed it for half a hour. But it is still not applied. -- 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.
[google-appengine] Re: how long will the new Max Idle Instances setting is applied when it is changed?
no, it is not applied. It created 2 instances again. But I have set the Max Idle Instances as one 1 hour ago. On Sep 30, 8:11 am, Tapir tapir@gmail.com wrote: applied now. So the time to apply new settings is 1 hour. On Sep 30, 7:50 am, Tapir tapir@gmail.com wrote: I haven't changed it for half a hour. But it is still not applied. -- 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.
Re: [google-appengine] Datastore Read and Writes Statstics
It would be really nice if the WriteOps and ReadOps are logged for each request. Like the loading_request and ms time that is added to a line in the log. That way you can download the logs and find out which request is making the most Ops and perhaps needs a look at if it can be optimized. Op 22 september 2011 14:29 heeft Vivek Puri v...@vivekpuri.com het volgende geschreven: For Estimated Charges Under New Pricing, my app is showing $40/per day for Writes and $13/day for Reads. $40 worth of writes is 40 million write operations. Right now i have not idea which table is being written to most and contributing to that number. Can AppEngine team provide statistics on these write and read operations. I would hope this is something similar to existing Datastore Statistics tool. -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
I have a site, with max idle set to 1, and Min Pending Latency set to 500ms, and I find performance is great. It takes 3-4 secs normally to start the full app up, but through smart caching (I can start a cold instance and serve many pages directly from memcache without starting the full stack in less than 200ms.) I suggest you spend some time having a look at your app startup performance, and profiling your app, rather than spending your time posting the multitude of odd complaints all over the place. Tim -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/akZjr0DRILYJ. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
with with Max Idle Instances set as 1 instead 3. The user experience is better now. ^_^ On Sep 30, 7:25 am, Tapir tapir@gmail.com wrote: and with Max Idle Instances set as 3. There MUST be a bug in gae instance scheduler. If it is not a bug, it MUST be a bad implementation. After some researches, I find If there is only one instance is running, the scheduler always avoids using it to handle a new coming request, even if the idle instance is idling. Instead, the scheduler always tries to open a new instance to handle the new coming request. As a result, the visitor must wait 15s to load the page. This problem is intolerable specially for websites with very small traffic. Almost very visit will wait for 15 seconds. How a good scheduler should do? 1. always use the current idle instance if it is available. 2. at the same time, create a new instance for potential new concurrent requests. It is just that simple. -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
Unfortunately in all your posts, you provide little background. So we have contextless complaints, its difficult to work out what you have done, and I won't assume you have done things like optimisation. Also are you handling warmup requests ? T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/DpQQFvngoKMJ. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
On Sep 29, 9:00 pm, Tim Hoffman zutes...@gmail.com wrote: Unfortunately in all your posts, you provide little background. So we have contextless complaints, its difficult to work out what you have done, and I won't assume you have done things like optimisation. Also are you handling warmup requests ? This is really not an app optimization problem. And about the app optimization, I use struts2 framework, which makes reducing the startup time less than 10 seconds is almost impossible. And yes I haven't use memcache heavily, but which is almost helpless for reducing the startup time. T -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
Yes I use the warmup requests feature, but I think it will make the problem worse. On Sep 30, 9:00 am, Tim Hoffman zutes...@gmail.com wrote: Unfortunately in all your posts, you provide little background. So we have contextless complaints, its difficult to work out what you have done, and I won't assume you have done things like optimisation. Also are you handling warmup requests ? T -- 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.
[google-appengine] Re: public, dynamic backends are magical (in a good way!!)
private backends are wonderful too-- but making them public makes it easier to debug actions because you can connect directly to the backend. for example, you can use the App Engine hosted console ( http://con.appspot.com/) to read the memory of the backend directly. (I will post on gae console soon-- it's amazing...) adam -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/JQc8GyzxG58J. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
Tim, Can you elaborate on what you mean by smart caching ? You start serving pages before your full stack has started? On Sep 29, 7:23 pm, Tim Hoffman zutes...@gmail.com wrote: I have a site, with max idle set to 1, and Min Pending Latency set to 500ms, and I find performance is great. It takes 3-4 secs normally to start the full app up, but through smart caching (I can start a cold instance and serve many pages directly from memcache without starting the full stack in less than 200ms.) I suggest you spend some time having a look at your app startup performance, and profiling your app, rather than spending your time posting the multitude of odd complaints all over the place. Tim -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
Maybe you shouldn't use struts, this is a serious suggestion, and should be considered seriously. If you have a lightly used small app using a heavy framework then you have probably made a bad design choice. If you have long startup times then warmup requests do help enormously, and in fact are about the only way you are going to improve the use experience. Also if you have such large startup times, then you should probably have more than one idle instance. I would also examine you software stack and see if you can at least serve the home page/landing page directly from memcache without starting struts up. The have on that same page some images that will be loaded after the html is loaded, and serve these from the full struts stack. This will mean the front page is loaded fast, and the images may well trigger additional instances to be loaded, if they don't load immediately it may not be the end of the world. T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Vve2VmeQfR8J. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
Think ? Actually run tests and measure. Too much thinking and not enough actual testing won't solve your problems. I can imperically say warmup requests help on all of my applications. T -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/g2GYszRWdWAJ. 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.
[google-appengine] Re: public, dynamic backends are magical (in a good way!!)
I see. The backends looks great! I will try it soon. On Sep 30, 9:34 am, Adam Sah adam@gmail.com wrote: private backends are wonderful too-- but making them public makes it easier to debug actions because you can connect directly to the backend. for example, you can use the App Engine hosted console (http://con.appspot.com/) to read the memory of the backend directly. (I will post on gae console soon-- it's amazing...) adam -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
On Sep 30, 9:41 am, Tim Hoffman zutes...@gmail.com wrote: Maybe you shouldn't use struts, this is a serious suggestion, and should be considered seriously. If you have a lightly used small app using a heavy framework then you have probably made a bad design choice. Could you recommend one? My website traffic is small, but my app is not small. If you have long startup times then warmup requests do help enormously, and in fact are about the only way you are going to improve the use experience. In fact, as the gae docs says, warmup requests is not always positive. warmup requests will make the problem I mentioned in the first comment worse. Also if you have such large startup times, then you should probably have more than one idle instance. As I mentioned above, set Max Idle Instances with 1 instead 3 will make page loading faster. (Surely, I think this is a bug of gae) I would also examine you software stack and see if you can at least serve the home page/landing page directly from memcache without starting struts up. The have on that same page some images that will be loaded after the html is loaded, and serve these from the full struts stack. This will mean the front page is loaded fast, and the images may well trigger additional instances to be loaded, if they don't load immediately it may not be the end of the world. I don't think loading images needs instances. T -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
On Sep 30, 9:41 am, Tim Hoffman zutes...@gmail.com wrote: Maybe you shouldn't use struts, this is a serious suggestion, and should be considered seriously. If you have a lightly used small app using a heavy framework then you have probably made a bad design choice. I am really some regretting on using java instead of python. I feels google doesn't put enough energy to solve some common problems in java apps, such as slow startup and high memory using. If you have long startup times then warmup requests do help enormously, and in fact are about the only way you are going to improve the use experience. Also if you have such large startup times, then you should probably have more than one idle instance. I would also examine you software stack and see if you can at least serve the home page/landing page directly from memcache without starting struts up. The have on that same page some images that will be loaded after the html is loaded, and serve these from the full struts stack. This will mean the front page is loaded fast, and the images may well trigger additional instances to be loaded, if they don't load immediately it may not be the end of the world. T -- 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.
Re: [google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
On Thu, Sep 29, 2011 at 6:59 PM, Tapir tapir@gmail.com wrote: I am really some regretting on using java instead of python. I feels google doesn't put enough energy to solve some common problems in java apps, such as slow startup and high memory using. Honestly it's really hard to tell what you're asking from this thread. If your app takes a long time to start up and spends most of its time idle (thus gets shut down), consider paying for the always on option. Also, if you haven't yet, put threadsafetrue/threadsafe in your appengine-web.xml. A single instance should be able to serve many concurrent requests. Jeff -- 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.
[google-appengine] DeadlineExceededError in the mail API
Hi, I'm seeing a lot of errors in one of my applications when making requests to the email RPC. I am getting DeadlineExceededErrors being throw about half of the time the api is called. The full error is as follows. ... File /base/python_runtime/python_lib/versions/1/google/appengine/api/mail.py, line 390, in send_mail message.send(make_sync_call) File /base/python_runtime/python_lib/versions/1/google/appengine/api/mail.py, line 891, in send make_sync_call('mail', self._API_CALL, message, response) File /base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py, line 94, in MakeSyncCall return stubmap.MakeSyncCall(service, call, request, response) File /base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py, line 308, in MakeSyncCall rpc.CheckSuccess() File /base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py, line 133, in CheckSuccess raise self.exception DeadlineExceededError: The API call mail.Send() took too long to respond and was cancelled. Is anyone else seeing this? -- Ian http://www.ianlewis.org/ -- 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.
[google-appengine] Re: urlfetch maximum interactive timeout why 10 seconds and not 20?
Not sure what your are using for the urlfetch method, but it does have a deadline parameter. Some syntax examples: urlfetch.create_rpc(deadline=20) urlfetch.fetch('http://'% domain, method=urlfetch.GET, deadline=20) -- 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
I think I have described it clearly. There is an idle instance running, but gae scheduler will still create a new instance and use the new instance to handle a new coming request. This is not a right implementation. The right implementation is use the idle instance to handle the new coming request and create a new instance for potential other coming requests. On Sep 29, 11:54 pm, Jeff Schnitzer j...@infohazard.org wrote: On Thu, Sep 29, 2011 at 6:59 PM, Tapir tapir@gmail.com wrote: I am really some regretting on using java instead of python. I feels google doesn't put enough energy to solve some common problems in java apps, such as slow startup and high memory using. Honestly it's really hard to tell what you're asking from this thread. If your app takes a long time to start up and spends most of its time idle (thus gets shut down), consider paying for the always on option. My app don't need 3 always-on paid instances. As I have mentioned above, I have set the Max Idle Instances to 1 instead of the old 3. Now the user experience is very happy. Ironic? one Max Idle Instances is better than 3 Max Idle Instances. ^_^ Also, if you haven't yet, put threadsafetrue/threadsafe in your appengine-web.xml. A single instance should be able to serve many concurrent requests. yes, I set it true, but this problem still exists. Jeff -- 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.
[google-appengine] Re: DeadlineExceededError in the mail API
yes, i have been getting this error consistently for over 24 hours on my app. i assumed it would be fixed by google quickly, but i guess not. my app has not changed for weeks so it's something in the appengine infrastructure. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/1dTvL0LDZkUJ. 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.
[google-appengine] Re: It is almost intolerable for user experience with 1 idle instances running
I admit the title is misleading. It should be The user experience is intolerable for with Max Idle Instances set as 3. For when I started this thread, I hadn't found the real reason for my app slow page loading problem. On Sep 30, 11:54 am, Jeff Schnitzer j...@infohazard.org wrote: On Thu, Sep 29, 2011 at 6:59 PM, Tapir tapir@gmail.com wrote: I am really some regretting on using java instead of python. I feels google doesn't put enough energy to solve some common problems in java apps, such as slow startup and high memory using. Honestly it's really hard to tell what you're asking from this thread. If your app takes a long time to start up and spends most of its time idle (thus gets shut down), consider paying for the always on option. Also, if you haven't yet, put threadsafetrue/threadsafe in your appengine-web.xml. A single instance should be able to serve many concurrent requests. Jeff -- 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.
Re: [google-appengine] Re: DeadlineExceededError in the mail API
Ditto. I'm noticing nearly 30% of all my mail send operations are failing. Fortunately, the last time this happened (a few weeks ago), I tucked in my mail send() calls in a taskqueue task. So, if it fails, the task queue automatically retries, in accordance with the back off algorithm parameters defined in queues.yaml. This has worked just fine, except that it introduces a little delay in the emails reaching their recipient. For my app, that is tolerable. On Fri, Sep 30, 2011 at 12:02 AM, Dennis dennisf...@gmail.com wrote: yes, i have been getting this error consistently for over 24 hours on my app. i assumed it would be fixed by google quickly, but i guess not. my app has not changed for weeks so it's something in the appengine infrastructure. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/1dTvL0LDZkUJ. 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. -- 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.