[appengine-java] old tutorials still available?
In the recent update of the Getting Started pages, the material on how to use the datastore with JDO (step-by-step) disappeared. The page http://code.google.com/appengine/docs/java/gettingstarted/usingdatastore.html changed to using the native api with entites. Is the old getting started tutorial with JDO available? /Fredrik -- 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] This application does not exist (app_id=u'application-id').
Hello~ When I deploy to Google App Engine, I received a error message. Error message: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=vph-eprversion=6; 404 Not Found This application does not exist (app_id=u'vph-epr'). *But*, it's exist now. http://vph-erp.appspot.com SDK Version: GAE/J 1.4.3 help me~ -- 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] Vs: This application does not exist (app_id=u'application-id').
java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=vph-epr version=6 *But*, it's exist now. http://vph-erp.appspot.com -- 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] Unable to upload a New version of a Document in Google Documents - using java api
Can we upload a new Version of Document to Google docs using the Java-GDocs-API?, If we use Following code the document content is getting replaced with new content. but old version of the document is vanished. We are creating the document using the following code. * URL destFolderUrl = new URL(https://docs.google.com/feeds/default/private/full/+libraryResourceId+/contents;); DocumentListEntry newEntry = new DocumentEntry(); newEntry.setTitle(new PlainTextConstruct(fileName)); DocumentListEntry entry=client.insert(destFolderUrl, newEntry); * We are updating the document using the following code. * DocumentListEntry en=getDocumentListEntry(IntermResourceId,fileresid);//Getting the Document list entery of the File en.setMediaSource(new MediaStreamSource(in, contentType));//Setting the new input stream DocumentListEntry updatedEntry = en.updateMedia(true);//updatting the entry. * Is the procedure to upload a new Version is correct.Is any another way to upload a new version. Thanks Chandrashaker Gattu -- 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: After upgrade to GAE SDK 1.5.0 - Cache is not working
Same issue, will try workaround with jar from previous sdk On May 12, 6:47 pm, DanielP daniel.pasca...@gmail.com wrote: I have the same issue: Eclipse cannot find: com.google.appengine.api.memcache.jsr107cache.GCacheFactory .. and if I change it to com.google.appengine.api.memcache.stdimpl.GCacheFactory .. then I get the exception. I need the GCacheFactory when I set the expiration: props.put(GCacheFactory.EXPIRATION_DELTA, 3600); -- 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] Object visibility between threads (running requests)
Hi I have created an application that works fin in the eclipse app engine development environment but when I deploy it live I get some problems. My application depends on two request coming in simultaneously from two different browsers, both requests (threads) gets a map from servlet context then both gets an object from the map with the same key, i.e. the same object super.toString says so and .hashCode says so. The first thread updates the object and then waits for the other thread to signal that it has read the change and done some operations. But the second thread never sees the change made by the first thread, the result of this is thet the first thread hanging for 30 seconds and the throws an exception. If I let the first thread return the second thread sees the change, but then it is too late. The project is up and running but not working at http://sendnow4.appspot.com and the code (not the latest but a working version) can be found at http://code.google.com/p/sendnow/ Best regards //Samuel -- 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: old tutorials still available?
Its under JDO: http://code.google.com/appengine/docs/java/datastore/jdo/queries.html Brandon Donnelson http://gwt-examples.googlecode.com -- 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: After upgrade to GAE SDK 1.5.0 - Cache is not working
Hi, I solved this issue changing the imports to javax.cache package. On 12 mayo, 01:03, luka uluk...@gmail.com wrote: I have found a workaround until a new zip will be released. I have taken the appengine-jsr107cache-1.4.3.jar from a former SDK installation renamed it to appengine-jsr107cache-1.5.0.jar and placed it under C:\Google-Apps\SDK\1.5.0\lib\user I have checked it on local production environment and it works like a charm On May 12, 1:24 am, Scott shathaw...@gmail.com wrote: I am having the same issue this: CacheFactory factory = net.sf.jsr107cache.CacheManager.getInstance().getCacheFactory(); Throws a CacheException with no stack trace and the message: net.sf.jsr107cache.CacheException: Could not find class: 'com.google.appengine.api.memcache.jsr107cache.GCacheFactory' On May 11, 6:03 pm, Don Schwarz schwa...@google.com wrote: What is the NullPointerException that you are getting? You shouldn't need to change your GCacheFactory. Nothing changed with that in 1.5.0, and the new package you are using is not correct. com.google.appengine.api.memcache.jsr107cache.GCacheFactory is the one you want. It is in appengine-jsr107cache-1.5.0.jar. On Wed, May 11, 2011 at 5:00 PM, luka uluk...@gmail.com wrote: I have recently upgraded from GAE 1.4.3 to 1.5.0 and the MemCache service I work with stop working. When I try to reach it, I get NullPointerException I saw that the package of GCacheFactory was changed to com.google.appengine.api.memcache.stdimpl although besides of that I am not sure what is wrong. I have a simple cache implementation using Spring beans which worked well during the last year: (Please help, my service has customers waiting for solution) import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import com.google.appengine.api.memcache.stdimpl.GCacheFactory; import net.sf.jsr107cache.Cache; import net.sf.jsr107cache.CacheException; import net.sf.jsr107cache.CacheManager; public class OnLoad { private static Logger logger = Logger.getLogger(com.lugo.server.utils.OnLoad); Cache cache; /** * Create Cache ( MemCache ) */ public void onStartup(){ try { Map props = new HashMap(); int expire = 3600 * 192 ; // 8 Days props.put(GCacheFactory.EXPIRATION_DELTA, expire); cache = CacheManager.getInstance().getCacheFactory().createCache(props); } catch (CacheException e) { logger.log(Level.WARNING,onStartup(), e); } } public Cache getCache(){ return cache; } } -- 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] Re: Backends.xml ERROR when deploying
Sent via BlackBerry® from True Move -Original Message- From: JakeP jake.pier...@gmail.com Sender: google-appengine-java@googlegroups.com Date: Thu, 12 May 2011 16:17:56 To: Google App Engine for Javagoogle-appengine-java@googlegroups.com Reply-To: google-appengine-java@googlegroups.com Subject: [appengine-java] Re: Backends.xml ERROR when deploying I see now that the documentation online is erroneous. I found the sample xml file in the sample Hello project and copied it. backends backend name=mother classB4/class options publicfalse/public /options /backend /backends -- 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] Google Web App Set Up Info
i have downloaded, eclipse-java-helios-SR2-win32, GWT 2.3.0, appengine-java-sdk-1.5.0. Google app Engine 1.5.0 Latest Version On My Pc and already installed jdk-6u23-windows-i586 on pc. Please Tell Me Where Put GWT 2.3.0, and appengine-java-sdk-1.5.0. I am Already Put eclipse On C:/ecipse Folder. And Have Not Update Any Plugin. Now any one Tell Me Set up Information. I want To Make Google Web App. i am unable to find any step by step tutorial with photo) Sorry for my bad english. From... Md Aslam mdasla...@yahoo.com -- 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] Enhancement Request - AppEngine Deploy Rollback
I was recently deploying to AppEngine using the Google Plugin for Eclipse when my internet connection died. When my connection was restored, I tried to re-deploy my app and the deployment failed with a message stating something like Someone else is deploying. Rollback using the command-line python script appcfg.py. I managed to repair the situation by using the following command: appcfg.sh --email=myacco...@gmail.com --passin rollback /path/to/ application It would be more user-friendly if the rollback functionality were integrated into the GPE. -- 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: Help with local testing of Task Queue
Hi Amar, No sure, maybe you did find the solution already yourself. I think you get a 405 because your servlet (?) only supports GET request. At least that was the problem I had. In my case the solution was by simply setting the method to GET when scheduling a new task: QueueFactory.getDefaultQueue().add(TaskOptions.Builder.withUrl(/ updateFriends).param(userId, +user.getId()).method(Method.GET)); regards, Nils On Apr 25, 11:13 pm, Amar Z amarzumkhaw...@gmail.com wrote: Hi, I am developing a new application and need help utilizing task queues. Here is the problem: when I startup my application locally and insert tasks into the default task queue, they fail to be invoked with a 405 status code, with the following error message showing up in my log displayed in Eclipse. Web hook athttp://0.0.0.0:/tasks/kmlnotificationreturned status code 405. Rescheduling... What do I need to do to get past the 405 errors? My initial concern is the 0.0.0.0 in the URL, which the google app engine chooses to use on its own. When I manually test an alternate URL using the loopback ip,http://127.0.0.1/tasks/kmlnotification, I can access the URL from the web browser with no error. So the /tasks/kmlnotification URL is accessible using 127.0.0.1 though not on the 0.0.0.0 IP address used by the app engine. Is 0.0.0.0 the appropriate IP address for web hook invocation? I am using the default queue and have no role restrictions in my configurations. My platform: Java 1.6/App Engine 1.4.3/Eclipse 3.6/Mac OS X 10.6.6 Thanks, Amar -- 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: Backends.xml ERROR when deploying
I get the same Error... -- 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] Should JDO use be synchronized in threadsafe=true application?
Do you just have a single global instance of persistence manager, or do you use the factory method? Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, May 12, 2011 at 1:47 AM, Juha K juha.kosk...@gmail.com wrote: I've been running an application successfully for some time on the app engine. During last week I've couple of times tried enabling threadsafe in my app. It seems to randomly cause issues with retrieving or storing data with JDO. What I see when I start to get these issues is this (I've replaced my apps class names with ---): java.lang.UnsupportedOperationException at org.datanucleus.store.appengine.EntityUtils.getPropertyName(EntityUtils.java:62) at org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(DatastoreFieldManager.java:839) at org.datanucleus.store.appengine.DatastoreFieldManager.storeStringField(DatastoreFieldManager.java:474) at org.datanucleus.state.AbstractStateManager.providedStringField(AbstractStateManager.java:1023) at ---.jdoProvideField(VAJDO.java) at ---.jdoProvideFields(VAJDO.java) at org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:2715) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess(DatastorePersistenceHandler.java:341) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:251) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:240) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1298) at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:694) I've seen the same exception also when calling PersistenceManager.getObjectById(). The call to these methods comes directly from servlet requests. The error doesn't always happen, sometimes (especially for writes) when it starts to happen, it seems to happen to all writes. I've set threadsafe to false in my appengine-web.xml and the error goes away. But especially now knowing the upcoming change in the pricing, I'd like to be able to run my app multithreaded. My question is that is this a bug in the app engine, or should I be synchronizing JDO use in my app in order to run it with threadsafe=true? -- 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.
Vs: Re: [appengine-java] Should JDO use be synchronized in threadsafe=true application?
No, but I have single global instance of PersistenceManagerFactory, and from it I call getPersistenceManager() every time I need it. perjantaina 13. toukokuuta 2011 18.07.22 UTC+3 Ikai L (Google) kirjoitti: Do you just have a single global instance of persistence manager, or do you use the factory method? Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, May 12, 2011 at 1:47 AM, Juha K juha.k...@gmail.com wrote: I've been running an application successfully for some time on the app engine. During last week I've couple of times tried enabling threadsafe in my app. It seems to randomly cause issues with retrieving or storing data with JDO. What I see when I start to get these issues is this (I've replaced my apps class names with ---): java.lang.UnsupportedOperationException at org.datanucleus.store.appengine.EntityUtils.getPropertyName(EntityUtils.java:62) at org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(DatastoreFieldManager.java:839) at org.datanucleus.store.appengine.DatastoreFieldManager.storeStringField(DatastoreFieldManager.java:474) at org.datanucleus.state.AbstractStateManager.providedStringField(AbstractStateManager.java:1023) at ---.jdoProvideField(VAJDO.java) at ---.jdoProvideFields(VAJDO.java) at org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:2715) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess(DatastorePersistenceHandler.java:341) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:251) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:240) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1298) at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:694) I've seen the same exception also when calling PersistenceManager.getObjectById(). The call to these methods comes directly from servlet requests. The error doesn't always happen, sometimes (especially for writes) when it starts to happen, it seems to happen to all writes. I've set threadsafe to false in my appengine-web.xml and the error goes away. But especially now knowing the upcoming change in the pricing, I'd like to be able to run my app multithreaded. My question is that is this a bug in the app engine, or should I be synchronizing JDO use in my app in order to run it with threadsafe=true? -- 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-app...@googlegroups.com. To unsubscribe from this group, send email to google-appengine...@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: old tutorials still available?
Yes, there is a more detailed explanation of JDO under Java/Storing Data. But it does not deal with the Guestbook example, which is a very nice little step-by-step introduction for beginners. OK, I can use cache: to get the old version, but I had hoped that there was a more official old tutorial version. Of course, it would also be interesting to know if GAE is moving away from JDO, and if that is the reason for changing the tutorial. Thanks for the reply, Fredrik -- 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] Setting Namespace for an entire Request
Hi! I'm trying to use the Namespace-API to build a multi-tenant app. Therefore i have defined a filter that sets the Namespace for each request regarding to the User making the request. However, if there's a new Request before the current request finishes its datastore-operation, the namespace would be overwritten by the new request and the current operation would have an incorrect namespace. I could also set the namespace before each datastore operation, but the problem would be the same.If another request overwrites the namespace before the operation is finished, the data in the database will be messed. Is there a way to set the namespace for an entire request? Or should i try to build some kind of Mutex around the NamespaceManager? Any suggestions to solve this problem are welcome :) Thx in advance -- 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] This application does not exist (app_id=u'application-id').
Uh...check your spelling. You've got vph-epr and vph-erp On Fri, May 13, 2011 at 1:23 AM, horid121 horid...@netkiller.com wrote: Hello~ When I deploy to Google App Engine, I received a error message. Error message: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id= vph-eprversion=6 404 Not Found This application does not exist (app_id=u'vph-epr'). *But*, it's exist now. http://vph-erp.appspot.com SDK Version: GAE/J 1.4.3 help me~ -- 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] Vs: This application does not exist (app_id=u'application-id').
Uh...check your spelling. You've got vph-epr and vph-erp On Fri, May 13, 2011 at 1:55 AM, Juha K juha.kosk...@gmail.com wrote: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=vph-epr version=6 *But*, it's exist now. http://vph-erp.appspot.com -- 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] Object visibility between threads (running requests)
There's no guarantee that both those threads are running on the same instance. They can be on two different machines in two different data centers. On Fri, May 13, 2011 at 5:22 AM, Samuel Erdtman sam...@erdtman.se wrote: Hi I have created an application that works fin in the eclipse app engine development environment but when I deploy it live I get some problems. My application depends on two request coming in simultaneously from two different browsers, both requests (threads) gets a map from servlet context then both gets an object from the map with the same key, i.e. the same object super.toString says so and .hashCode says so. The first thread updates the object and then waits for the other thread to signal that it has read the change and done some operations. But the second thread never sees the change made by the first thread, the result of this is thet the first thread hanging for 30 seconds and the throws an exception. If I let the first thread return the second thread sees the change, but then it is too late. The project is up and running but not working at http://sendnow4.appspot.com and the code (not the latest but a working version) can be found at http://code.google.com/p/sendnow/ Best regards //Samuel -- 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] DeadlineExceededException and instance restart
Why do DeadlineExceededException always cause an instance restart even if properly catched ? My instances are quite slow to start since 1.5.0 and I get a lot of errors 500 then. Thanx for your help. François -- 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] App engine connected android project
Having issue with sample project. Android appears to work fine and registers with the server and the c2dm server, however I cannot send a message. I get the following result in my server log: /gwtRequest 200 214ms 229cpu_ms 135api_cpu_ms 0kb Apache-HttpClient/UNAVAILABLE (java 1.4),gzip(gfe) 174.252.181.39 - testuser [13/May/2011:09:06:19 -0700] POST /gwtRequest HTTP/1.1 200 137 - Apache-HttpClient/UNAVAILABLE (java 1.4),gzip(gfe) ?.appspot.com ms=215 cpu_ms=229 api_cpu_ms=136 cpm_usd=0.006492 Also of note on the server is a c2dmconfig datastore object. It has fields for authToken and c2dmUrl. The authToken has a token, however the c2dmUrl is NULL. I suspect this is where my problem lies, but not sure how to fix it. Thanks Patrick -- 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: Backends.xml ERROR when deploying
update: backends.xml deploys just fine now, but nothing is listed under Backends in the Admin console. Do I need to create a backend instance in code for a backend to show up in the admin? -- 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: Backends.xml ERROR when deploying
Sorry but I am a bit in the 80s here, what exactly is back ends? Isnt it all servlets can be backends too? :( Tia On May 13, 2011 1:14 PM, JakeP jake.pier...@gmail.com wrote: update: backends.xml deploys just fine now, but nothing is listed under Backends in the Admin console. Do I need to create a backend instance in code for a backend to show up in the admin? -- 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: old tutorials still available?
Yeah, I can see your point. I've begun to like the datastore query class better for queries, but for putting it into object form JDO query class seems to be easier. Although, the datastore query class seems a bit more flexible and easier to query with filters and sort. I think JDO's design is a bit more textual in the query and datastore query is more static constants, which is a bit easier for me to use. It would be nice if you could have a utility class to assemble the entity into the object/class like JDO when using the datastore query. Brandon Donnelson http://gwt-examples.googlecode.com http://c.gawkat.com -- 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] Object visibility between threads (running requests)
That is true, I just want to know that it is by design and not because I have missed to do something. And the thing is that i can see the objects and that there is difference in visibility after the first thread returns. does this mean that objects are synchronized between data centers between request. I´ll see if i figure something out //Samuel -- 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: Backends.xml ERROR when deploying
Backends are definitely ready for Java, but it seems that there are some mistakes in the documentation. We'll get those fixed right away. The correct link to the backends API javadoc is: http://code.google.com/appengine/docs/java/com/google/api/backends/package-summary.html And the sample backends.xml file should look like this: backends backend name=memdb classb8/class instances5/instances /backend backend name=worker options fail-fasttrue/fail-fast /options/ backend backend name=cmdline namecmdline/name options dynamictrue/dynamic /options/ backend /backends JT, please read through this: http://code.google.com/appengine/docs/java/backends/ Backends are essential special App Engine instances that can run work beyond the usual request deadlines and can maintain state in memory. You can think of them as stateful backends, which should be a less ambiguous name. On Fri, May 13, 2011 at 12:20 PM, JT jem...@gmail.com wrote: Sorry but I am a bit in the 80s here, what exactly is back ends? Isnt it all servlets can be backends too? :( Tia On May 13, 2011 1:14 PM, JakeP jake.pier...@gmail.com wrote: update: backends.xml deploys just fine now, but nothing is listed under Backends in the Admin console. Do I need to create a backend instance in code for a backend to show up in the admin? -- 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.
Re: [appengine-java] Re: After upgrade to GAE SDK 1.5.0 - Cache is not working
Sorry about this, folks. We'll get a new SDK built that includes the right appengine-jsr107cache.jar file. In the mean time you can use javax.cache or a previous version of appengine-jsr107cache.jar (there were no changes to it in 1.5.0), but I would strongly encourage everyone to move from javax.cache to net.sf.jsr107cache once this problem is fixed. We are no longer making bugfixes to javax.cache and will at some point remove it from the SDK. On Thu, May 12, 2011 at 4:50 AM, david basoko bas...@gmail.com wrote: Hi, I solved this issue changing the imports to javax.cache package. On 12 mayo, 01:03, luka uluk...@gmail.com wrote: I have found a workaround until a new zip will be released. I have taken the appengine-jsr107cache-1.4.3.jar from a former SDK installation renamed it to appengine-jsr107cache-1.5.0.jar and placed it under C:\Google-Apps\SDK\1.5.0\lib\user I have checked it on local production environment and it works like a charm On May 12, 1:24 am, Scott shathaw...@gmail.com wrote: I am having the same issue this: CacheFactory factory = net.sf.jsr107cache.CacheManager.getInstance().getCacheFactory(); Throws a CacheException with no stack trace and the message: net.sf.jsr107cache.CacheException: Could not find class: 'com.google.appengine.api.memcache.jsr107cache.GCacheFactory' On May 11, 6:03 pm, Don Schwarz schwa...@google.com wrote: What is the NullPointerException that you are getting? You shouldn't need to change your GCacheFactory. Nothing changed with that in 1.5.0, and the new package you are using is not correct. com.google.appengine.api.memcache.jsr107cache.GCacheFactory is the one you want. It is in appengine-jsr107cache-1.5.0.jar. On Wed, May 11, 2011 at 5:00 PM, luka uluk...@gmail.com wrote: I have recently upgraded from GAE 1.4.3 to 1.5.0 and the MemCache service I work with stop working. When I try to reach it, I get NullPointerException I saw that the package of GCacheFactory was changed to com.google.appengine.api.memcache.stdimpl although besides of that I am not sure what is wrong. I have a simple cache implementation using Spring beans which worked well during the last year: (Please help, my service has customers waiting for solution) import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import com.google.appengine.api.memcache.stdimpl.GCacheFactory; import net.sf.jsr107cache.Cache; import net.sf.jsr107cache.CacheException; import net.sf.jsr107cache.CacheManager; public class OnLoad { private static Logger logger = Logger.getLogger(com.lugo.server.utils.OnLoad); Cache cache; /** * Create Cache ( MemCache ) */ public void onStartup(){ try { Map props = new HashMap(); int expire = 3600 * 192 ; // 8 Days props.put(GCacheFactory.EXPIRATION_DELTA, expire); cache = CacheManager.getInstance().getCacheFactory().createCache(props); } catch (CacheException e) { logger.log(Level.WARNING,onStartup(), e); } } public Cache getCache(){ return cache; } } -- 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.
Re: [appengine-java] Re: Backends.xml ERROR when deploying
Thanks don. Sounds like sun's entity bean for me :) - Reply message - From: Don Schwarz schwa...@google.com Date: Fri, May 13, 2011 1:39 pm Subject: [appengine-java] Re: Backends.xml ERROR when deploying To: google-appengine-java@googlegroups.com -- 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: Backends.xml ERROR when deploying
Thanks Don. For some reason, I still get a 404 on that javadoc link. -- 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: Getting class cast exception in BackendServersFilter after 1.5 sdk update
GAE team, need your help here. -- 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: Vs: This application does not exist (app_id=u'application-id').
Thank you, Stephen Johnson. but It's just mistyped.. --Error Log-- Creating staging directory Scanning for jsp files. Compiling jsp files. Scanning files on local disk. Scanned 250 files. Initiating update. java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=vph-erpversion=6; 404 Not Found This application does not exist (app_id=u'vph-erp'). On May 13, 9:10 am, Stephen Johnson onepagewo...@gmail.com wrote: Uh...check your spelling. You've got vph-epr and vph-erp On Fri, May 13, 2011 at 1:55 AM, Juha K juha.kosk...@gmail.com wrote: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=vph-epr version=6 *But*, it's exist now.http://vph-erp.appspot.com -- 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 togoogle-appengine-java@googlegroups.com. To unsubscribe from this group, send email togoogle-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: overcome onetomany limitation of 5000
You might want to consider denormalizing that table by one field? That is, create a new entity holding a foreign key relation and the field of interest, and create an index for that query equality. Reads are fast, and updates are slower so creating new entities for that data rather than updating an increasingly large entity (the entity with a list) might be a good approach. On May 11, 11:08 pm, lp lucio.picc...@gmail.com wrote: hi all i am modelling a unowned one-to-many relationship using list properties. @Entity public class User{ String name; Boolean loggedIn; @Basic private ListKey friends; } all is good. i can run queries like query = Select p from PositionUser p where p.friends = :userKey and + AND p.loggedIn = true However there is a limit on the number of index available per entity of 5000. (although i am hitting the limit at 2500 for some reason) i have 2 problems with the current approach #1. below the 5000 limit each addition to the friend list will require a fetch of the entire list, then add item and then put to datastore. this is rather expensive in CPU. #2. How can i allow for 5000 in the onetomany? any suggestion pls -lp -- 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] [ANN] Gaelyk 0.7 released
Hi all, I'm happy to announce the *release of Gaelyk 0.7http://gaelyk.appspot.com/ *, the *lightweight toolkit for developing apps in Groovy for Google App Engine*! This release bridges the gap with the latest releases of the Google App Engine SDK, bringing its support for SDK 1.5.0, and also leveraging the recently released Groovy 1.8.0. In the newest updates, you'll find: - Groovy upgraded to 1.8.0 and GAE SDK to 1.5.0 - Added support for XMPP's presencehttp://gaelyk.appspot.com/tutorial/app-engine-shortcuts#jabber-presence and subscriptionhttp://gaelyk.appspot.com/tutorial/app-engine-shortcuts#jabber-subscription - Added variable files for easy access to the File service in your Groovlet and templates, backends for the BackendService, and lifecycle for the LifecycleManager - Added support for the File servicehttp://gaelyk.appspot.com/tutorial/app-engine-shortcuts#file-service - Thanks to the new file service, the Gaelyk test suites now properly cover the blobstore related enhancements - Added datastore metadata queryinghttp://gaelyk.appspot.com/tutorial/app-engine-shortcuts#metadata support - Added minimal backend service supporthttp://gaelyk.appspot.com/tutorial/app-engine-shortcuts#backend The detailed tutorial http://gaelyk.appspot.com/tutorial has been updated with those recent additions and updates. You can download the template project in the downloadhttp://gaelyk.appspot.com/downloadsection of the Gaelyk website. Thanks a lot to all those who contributed to this release! -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one -- 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: Google Web App Set Up Info
1. Are you able to startup eclipse. (java will need installed) 2. Once you install eclipse, what I do is get the update site for installed a. http://code.google.com/eclipse/docs/getting_started.html - http://dl.google.com/eclipse/plugin/3.6 b. Goto Eclipse Help Install New Software that update link c. Install the google stuff 3. Once Eclipse restarts 4. Check the top of eclipse for some shortcuts with g. Hit the blue g with down looking carrot, and add new web application. a. Or Eclipse File New (g) Web application Project - This will setup a simple GWT project to work with b. For your first project this is what I do, Use tld.domain.myfirsttest.MyFirstTest for package path and Project name MyFirstTest. 5. Once your done with that make sure you test it first, start it up with hitting debug with down carrot, and hit debug on the web app. 6. Once you the test works, place with the code in small chunks get the feel first. Hope that helps, Brandon Donnelson http://gwt-examples.googlecode.com http://c.gawkat.com -- 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: overcome onetomany limitation of 5000
I would try another JDO class or Entity to store your friends instead of a list. I like to use unowned relationships my self. Brandon Donnelson http://gwt-examples.googlecode.com -- 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] questions about backends with Cron and Task Queues
I'm very excited to start using backends with my GAE project. Because of the past 30sec restrictions, I heavily divided up the big processing tasks I was doing (refreshing RSS and ATOM feeds) into a lot of tasks that I put into task queues. These refresh jobs are all started with a few Cron jobs. I want to move processing over to a backend but am wondering how to address these jobs to that backend. If I try to call the urls on the backend directly, I get errors because task queues and cron will only run jobs that begin with '/' It would be nice if I could specify a backend in the Cron XML or as a parameter in task queues TaskOptions.Builder.withBackend(mother).withUrl(... If a backend instance creates a task in the task queue with a URL from / will that task run on the backend instance that called it or will it run in a normal instance? log error: java.lang.IllegalArgumentException: url must contain a path starting with '/' part - contains :backend.xx.appspot.com/server at com.google.appengine.api.taskqueue.QueueImpl.parsePartialUrl(QueueImpl.java: 118) at com.google.appengine.api.taskqueue.QueueImpl.validateAndFillAddRequest(QueueImpl.java: 196) at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java: 431) at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java: 412) at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java: 397) -- 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: Backends.xml ERROR when deploying
I finally got my backend instance to start up by deploying it via appcfg.sh backends update it seems that this is the only way to create a backend instance -- 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] Adding the Ability to Set a Beta or Other Version of an Application To A Domain
At Google IO, one of the members of the audience asked if the App Engine team was considering adding the ability to map a subdomain to a specific version in an App Engine App, other than the default version. Currently, you can map a domain only to the default version. However, it would be nice to be able to map a second domain to another version in the Version Administrative panel. For instance: default - www.example.com - Mapped to version 5 beta - beta.example.com - Mapped to the new version 7 Then in the Version panel, users would select both a default version as well as a beta version. Since a picture speaks a thousand words, I've attached an example of what this feature might look like in the Google App Engine Version Panel: http://commondatastorage.googleapis.com/jem/forums/AppEngineVersions.png There may be a way to add more subdomains to specific versions to support more depth in managing versions, but I think this would be a great start. James -- 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: Google Web App Set Up Info
I forgot, this is a good time to test deploying an app to GAE too. If you get a successful run of the example app, I deploy for testing the simplest working app. bd -- 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] Adding the Ability to Set a Beta or Other Version of an Application To A Domain
This is particularly important for Facebook applications because FB Connect is tied to a specific domain name. It's impossible to test an application (which has a custom domain) against xxx.appspot.com, so it's pretty much impossible to beta test code in vivo. Here's a related bug to star: http://code.google.com/p/googleappengine/issues/detail?id=2878 Jeff On Fri, May 13, 2011 at 5:03 PM, James M jmort...@gmail.com wrote: At Google IO, one of the members of the audience asked if the App Engine team was considering adding the ability to map a subdomain to a specific version in an App Engine App, other than the default version. Currently, you can map a domain only to the default version. However, it would be nice to be able to map a second domain to another version in the Version Administrative panel. For instance: default - www.example.com - Mapped to version 5 beta - beta.example.com - Mapped to the new version 7 Then in the Version panel, users would select both a default version as well as a beta version. Since a picture speaks a thousand words, I've attached an example of what this feature might look like in the Google App Engine Version Panel: http://commondatastorage.googleapis.com/jem/forums/AppEngineVersions.png There may be a way to add more subdomains to specific versions to support more depth in managing versions, but I think this would be a great start. James -- 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: Help with local testing of Task Queue
Hi, Did you follow the guidelines of http://code.google.com/appengine/docs/java/tools/localunittesting.html ? regards didier On Apr 25, 11:13 pm, Amar Z amarzumkhaw...@gmail.com wrote: Hi, I am developing a new application and need help utilizing task queues. Here is the problem: when I startup my application locally and insert tasks into the default task queue, they fail to be invoked with a 405 status code, with the following error message showing up in my log displayed in Eclipse. Web hook athttp://0.0.0.0:/tasks/kmlnotificationreturned status code 405. Rescheduling... What do I need to do to get past the 405 errors? My initial concern is the 0.0.0.0 in the URL, which the google app engine chooses to use on its own. When I manually test an alternate URL using the loopback ip,http://127.0.0.1/tasks/kmlnotification, I can access the URL from the web browser with no error. So the /tasks/kmlnotification URL is accessible using 127.0.0.1 though not on the 0.0.0.0 IP address used by the app engine. Is 0.0.0.0 the appropriate IP address for web hook invocation? I am using the default queue and have no role restrictions in my configurations. My platform: Java 1.6/App Engine 1.4.3/Eclipse 3.6/Mac OS X 10.6.6 Thanks, Amar -- 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] UserService.getCurrentUser() returning null sometimes
Hi, I have a GWT application. For every RPC made, I do UserService.getCurrentUser() on the server, and then go ahead with the business logic. Sometimes, this call is returning null. Under what circumstances it might return null? This is really causing intermittent errors for my customers. Please suggest Regards, -Aswath 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.
[google-appengine] Why are tasks on backends not logged?
I've got following configuration and code. backends: - name: get class: B1 options: dynamic taskqueue.add(url='/task/get/',queue_name='update',target='get') It works and the task runs and does what it's supposed to do, but it's not in the logs. Why? -- 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: Google App Engine OAuth endpoints throwing 400 in production.
Hi Robert, That's probably it - I'll check. Thanks! On May 12, 10:05 pm, Robert Kluin robert.kl...@gmail.com wrote: Hi Will and Samuel, Have you guys tried registering your apps? http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto I think this is discussed a bit in the oauth docs: http://code.google.com/apis/accounts/docs/OAuth.html#prepRegister Robert On Thu, May 12, 2011 at 17:34, Samuel Harper sampy...@gmail.com wrote: Hi all, Has anyone found a solution for this? I'm developing an Android app using GAE and we're having the same issue. 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. -- 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] Where I pulled the 70X from AND How the new pricing could be cheaper for you!
Brandon, thanks for the detailed analysis. I too had almost exactly the same thoughts regarding CPU vs Instance billing. Lets wait for the new scheduler to go live before finally deciding on the path ahead. Only hope that once it (the scheduler) stabilizes, we don't go through the entire cycle again if when Google decided to change things again in the future or at-least the transition wouldn't be as drastic!! Sam On Fri, May 13, 2011 at 10:51 AM, Brandon Wirtz drak...@digerat.com wrote: I know that my use case for GAE is non-typical. And as I mentioned before I’ll likely have to port my code to a different language under the new pricing, but I wanted to share how my use case works, and how yours may differ. When I moved to 1.5 it seems in my app that the sites getting the improvement have the highest MemCache hit ratio. Likely the improvement is a function of something related to that. I also noticed the request time went down the most on those, so probably I'm just seeing the effect of requests on those sites taking 30% less time so each instance serves 30% more people. On one of my apps I saw nearly zero improvements. And it is the one that worries me the most pricing wise. It cruises along at 60-75 instances 24/7 but only use 10 CPU hours a day CPU Time $0.10/ CPU hour [image: Description: 8%] 8% 9.95 of 127.50 CPU hours $0.35 / $12.10 Because of the free quota that is 35 cents a day for the CPU But if there was no free quota, or we were really big so the free quota was not factored. That would be 10x $0.10 or a $1 a day But 60 instances 24 hours at 5 cents per is $72 so 72X the price (before any scheduler efficiencies) This is where I got the 70X I quoted before. I have another app that runs at 9 instances (after moving to 1.5) that uses 5 CPU Hours a day CPU Time $0.10/ CPU hour [image: Description: 1%] 1% 5.00 of 406.50 CPU hours $0.00 / $40.00 9x 24x.05 = $10 (and some pennies) vs 50 cents on the old model. 20x before any scheduler efficiencies I believe my use is the way it is because the really short logic of my code goes like this. User: I need a file App: I have that in memcache it’s popular right now. Sending …. …. 50ms later… User:Thanks! (Instance time 75ms CPU time 25ms) OR…. User:I need a file APP: I don’t have that in memcache let me go get that for you … 110ms later… DataStore: Here is that file you asked for. App: Great I’ll pass it to the user … … 50ms later User Thanks. (Instance time 200ms CPU time 40ms) OR… (and this one kills me) User:I need a big file APP: I don’t have that in memcache let me go get that for you … 110ms later… DataStore: Here is that file you asked for its big. App: Yeah I know and this user is on dial up. They Suck … … … … … 1500ms later User Thanks. What took so long. (Instance time 2000ms CPU time 40ms) And In all three of these scenarios what I’m really paying for if I get billed by instances is the waiting to send stuff to the user, and possibly read it out of GQL. None of this uses the “Python” bits for anything useful. If on the other hand I was folding proteins or searching for extraterrestrials my Instance hours and my CPU hours would be far less disparate. In fact because instance hours are cheaper than CPU Hours if you can keep your instance at better than 50% load at all times you will in fact save money. *SO….*Check this out, the old price per CPU hour was 10 cents, but a Reserved Instance is 5 cents. So if you can figure out how to not wait on the dumb user and his 56k connection, and not sit idle while waiting on some value to be returned from the depths of where ever Google stores your data and all the lost socks from my laundry, then you can actually save money on the new pricing. It’s my horribly inefficient use of the time that I’m waiting on the user that gets me to 70x. If this were PHP I’d have a do while that folded proteins while I waited for my user to receive their bits, but I can’t do that. Google on the other hand could likely make my apps much more efficient if there were a request handler that said “This dude is asking for a thing” and I’d say “put them on hold I’ll get you the file, Got it, here it is” and it would then say “what do you want me to do with this? Read it to them?” and I’d say “Yep”, “you suck why do I have to do that” , “Because you are the edge cache and that is your job”. And I think some days this works, (so do cache control headers and the edge caching such that when two people ask for the same exact thing only 1 hits my APP) and other days it doesn’t work so much. And I don’t really know why cause I can’t see the moving parts, only part of what is on each side of a row of magic black boxes. -- You received this message because you are subscribed to the Google Groups
[google-appengine] Party like it's 1970? auto_now_add=True
This code storedate = db.TimeProperty(auto_now_add=True) is storing 1970-01-01 07:24:59.747331 In my data store. The Time looks right, but the date is Jan 1 1970. Am I doing something wrong? I mean my data wasn't stored a decade prior to my birth. Google is good, but it isn't that Good -- 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] Party like it's 1970? auto_now_add=True
is it doing this on production ? On Fri, May 13, 2011 at 12:57 PM, Brandon Wirtz drak...@digerat.com wrote: This code storedate = db.TimeProperty(auto_now_add=True) is storing 1970-01-01 07:24:59.747331 In my data store. The Time looks right, but the date is Jan 1 1970. Am I doing something wrong? I mean my data wasn’t stored a decade prior to my birth… Google is good, but it isn’t “that Good” -- 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. -- 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: 1.5 improvements Make me less scared of Pricing
Plus: 1. 15 minutes minimum granularity. 2. Tiered Instance pricing. My app consumes about 40 -80 MB, but I'll be paying for 128 MB 0r 256 MB minimum. 3. It's not like they can't meter these or aren't metering these. They already have the numbers. But they wont price things based on it, which sucks. 4. $9 tax. (not all sites start making revenue quick and not everyone is based out of US. $9 is quite a sum to just have the ability to cross free quotas.) On Fri, May 13, 2011 at 8:50 AM, Raymond C. windz...@gmail.com wrote: But still 6 instances for 13 QPS (2.22 x 6) sounds stupid to me if the pricing will be instance based. A single regular class VPS can handle at least like 30+ QPS. -- 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. -- 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: 1.5 improvements Make me less scared of Pricing
And it would be great to have different pricing for idle instance hours vs active instance hours. Because my app is letting other apps execute, while blocking a little memory. On Fri, May 13, 2011 at 1:20 PM, Vinuth Madinur vinuth.madi...@gmail.comwrote: Plus: 1. 15 minutes minimum granularity. 2. Tiered Instance pricing. My app consumes about 40 -80 MB, but I'll be paying for 128 MB 0r 256 MB minimum. 3. It's not like they can't meter these or aren't metering these. They already have the numbers. But they wont price things based on it, which sucks. 4. $9 tax. (not all sites start making revenue quick and not everyone is based out of US. $9 is quite a sum to just have the ability to cross free quotas.) On Fri, May 13, 2011 at 8:50 AM, Raymond C. windz...@gmail.com wrote: But still 6 instances for 13 QPS (2.22 x 6) sounds stupid to me if the pricing will be instance based. A single regular class VPS can handle at least like 30+ QPS. -- 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. -- 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] Party like it's 1970? auto_now_add=True
Yes. Python in production. I hadn't used this method prior, so I am not sure if it is new expected or I did something stupid. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Gopal Patel Sent: Friday, May 13, 2011 12:47 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Party like it's 1970? auto_now_add=True is it doing this on production ? On Fri, May 13, 2011 at 12:57 PM, Brandon Wirtz drak...@digerat.com wrote: This code storedate = db.TimeProperty(auto_now_add=True) is storing 1970-01-01 07:24:59.747331 In my data store. The Time looks right, but the date is Jan 1 1970. Am I doing something wrong? I mean my data wasn't stored a decade prior to my birth. Google is good, but it isn't that Good -- 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 mailto:google-appengine%2bunsubscr...@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. -- 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: Party like it's 1970? auto_now_add=True
Use a DateTimeProperty, or just ignore the date part if time is all you want. http://stackoverflow.com/q/3605971 On May 13, 3:56 am, Brandon Wirtz drak...@digerat.com wrote: Yes. Python in production. I hadn't used this method prior, so I am not sure if it is new expected or I did something stupid. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Gopal Patel Sent: Friday, May 13, 2011 12:47 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Party like it's 1970? auto_now_add=True is it doing this on production ? On Fri, May 13, 2011 at 12:57 PM, Brandon Wirtz drak...@digerat.com wrote: This code storedate = db.TimeProperty(auto_now_add=True) is storing 1970-01-01 07:24:59.747331 In my data store. The Time looks right, but the date is Jan 1 1970. Am I doing something wrong? I mean my data wasn't stored a decade prior to my birth. Google is good, but it isn't that Good -- 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 mailto:google-appengine%2bunsubscr...@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 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: MultiThreaded Setting cuts required instances by 1/4th for my app
Some pricing changes are a bit weird, like sending emails. Google made Gmail. And now I can send more free emails with my private account than with my app? Was old quota really so bad? Now I will have to pay even to have an option to send out reasonable amount of password remainder emails... or activation emails. And it's one thing that can be abused by someone that wants to raise my bills or just block this function if it hits the limit. Google should avoid any changes that make you wonder maybe I should integrate some external tool/service with my app. That's just opposite to what GAE stands for - it should be easy, without any hassle, without dividing your app, using hacks and weird solutions. I want whole package in one place - but I will use those workarounds if they are really cheaper. Most of us here are to make money. -- 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: Party like it's 1970? auto_now_add=True
Ah... That pesky Date on the front of it... That's what I was missing... Been awake for too many hours... Thanks! -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of hyperslug Sent: Friday, May 13, 2011 1:00 AM To: Google App Engine Subject: [google-appengine] Re: Party like it's 1970? auto_now_add=True Use a DateTimeProperty, or just ignore the date part if time is all you want. http://stackoverflow.com/q/3605971 On May 13, 3:56 am, Brandon Wirtz drak...@digerat.com wrote: Yes. Python in production. I hadn't used this method prior, so I am not sure if it is new expected or I did something stupid. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Gopal Patel Sent: Friday, May 13, 2011 12:47 AM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] Party like it's 1970? auto_now_add=True is it doing this on production ? On Fri, May 13, 2011 at 12:57 PM, Brandon Wirtz drak...@digerat.com wrote: This code storedate = db.TimeProperty(auto_now_add=True) is storing 1970-01-01 07:24:59.747331 In my data store. The Time looks right, but the date is Jan 1 1970. Am I doing something wrong? I mean my data wasn't stored a decade prior to my birth. Google is good, but it isn't that Good -- 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 mailto:google-appengine%2bunsubscr...@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 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. -- 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: Why are tasks on backends not logged?
Alright, I've figured it out: backends are versions with separate dashboard. Might be obvious, but wasn't too me. -- 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] Question about dynamic backends
I'd like clarification on dynamic backends please. According to the I/ O session dynamic backends get 15 minutes startup penalty, and are stopped after 1 minute with no requests. Are the 15 minutes inclusive of requests which might occur during the first 15 minutes after startup, or in addition? Does a theoretical cron which runs every 30 minutes, and takes 5 minutes to complete, count as (15+5+1)*2 per hour or (15+1)*2 per hour? -- 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] B8 vs B4 vs B2 vs B1 , B8 = B4 ?
def test(i = 100): t = datetime.datetime.now() while i: i -= 1 '喔喔'.decode('utf-8') print datetime.datetime.now()-t test() B8 time: 0:00:01.520756 B4 time: 0:00:01.524307 B2 time: 0:00:02.342202 B1 time: 0:00:03.492686 B8 = B4 ? -- 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: Backends clarifications
Ah that's great news then, I didn't realize that. Greg: Thanks for the link, I was a bit misunderstood and didn't see it in the App Engine Samples. One thing that's intrigued me about the reserved backend, and it mentions in the documentation, is to keep track of game states. I was hoping someone could tell me if this setup would make sense: if I need to update possibly hundreds of game states, and by update I mean sending out actual updates via the Channel API, I thought I could do this by two separate instances. One of which holds the data(there isn't much data to keep track of, 128MB may be sufficient), the other operates on a while loop that only exits when all games have completed and runs every second or every other second using time.sleep(1000) or 2000. It sends out updates to each client in each game that requires updates, and gets the data from the other backend instance. Then it would sleep until the next iteration. Is this a sensible use of backends or is this actually more suited to tasks? I was originally using tasks that enqueue a new task each following second to accomplish this. Which one would be better and why? Thanks, Richard On May 12, 11:10 am, Gregory D'alesandre gr...@google.com wrote: On Thu, May 12, 2011 at 3:32 AM, Richard Arrano rickarr...@gmail.comwrote: Hello, I have a few questions about the new Backends feature: It seems like a reserved backend allows us to have access to a sort of unevictable memcache, is this correct? If I were doing something like a game, would it be reasonable to have a single instance keep track of a few pieces of vital information about each game? The sum of which might be around 1MB of information at any given time. How would I go about this anyway? Address the reserved instance and how would I set a value in its memory? And just to be clear, there's no free version of Backends, correct? Actually, there is! You get $0.72 worth of backends free per day (this can be used in any configuration you'd like 9 hours of a B1 or 1 hour of a B8 + 1 hour of a B1, etc). Greg Thanks, Richard -- 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. -- 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] B8 vs B4 vs B2 vs B1 , B8 = B4 ?
Add 50 characters and double your loop amount. You aren't pushing it hard enough that you get an accurate number. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of ?? Sent: Friday, May 13, 2011 2:07 AM To: Google App Engine Subject: [google-appengine] B8 vs B4 vs B2 vs B1 , B8 = B4 ? def test(i = 100): t = datetime.datetime.now() while i: i -= 1 '喔喔'.decode('utf-8') print datetime.datetime.now()-t test() B8 time: 0:00:01.520756 B4 time: 0:00:01.524307 B2 time: 0:00:02.342202 B1 time: 0:00:03.492686 B8 = B4 ? -- 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. -- 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] Where I pulled the 70X from AND How the new pricing could be cheaper for you!
On Fri, May 13, 2011 at 6:21 AM, Brandon Wirtz drak...@digerat.com wrote: OR… (and this one kills me) User: I need a big file APP: I don’t have that in memcache let me go get that for you 110ms later… DataStore: Here is that file you asked for its big. App: Yeah I know and this user is on dial up. They Suck App Engine i/o is fully buffered. Your instance is done and ready to serve a new request once it has written the current response to stdout and returned from main. The App Engine infrastructure will dribble the bytes back to the user as fast as possible. And In all three of these scenarios what I’m really paying for if I get billed by instances is the waiting to send stuff to the user, and possibly read it out of GQL. None of this uses the “Python” bits for anything useful. Try caching your data 1MB in the blobstore. You can then use the send_blob() call of the BlobstoreDownloadHandler which acts like the X-Sendfile header in some other web servers. This should return immediately. http://code.google.com/appengine/docs/python/blobstore/overview.html#Serving_a_Blob And I think some days this works, (so do cache control headers and the edge caching such that when two people ask for the same exact thing only 1 hits my APP) and other days it doesn’t work so much. And I don’t really know why cause I can’t see the moving parts, only part of what is on each side of a row of magic black boxes. So you're saying: when the engineers make a mistake the accountants are happy? Mistakes are rewarded? -- 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] 1.5 improvements Make me less scared of Pricing
On Fri, May 13, 2011 at 3:29 AM, Brandon Wirtz drak...@digerat.com wrote: I am slow to upgrade because I like to know that things won’t explode, but this graph shows how 1.5 reduced the number of instances I need compared to 1.4 (maybe 1.3) that I was running. Usually I version thing so you can’t see the graph before. I don't think that's how versioning works. Google updates their infrastructure independently of which SDK you have installed on your laptop. You can see this effect as people report fresh bugs in their deployed apps without having redeployed. So delaying updating your SDK is not the conservative strategy. To be conservative, you should install the preview SDK as soon as it is released and run your tests locally. The production machines seem to be updated with the preview SDK release, which is about 2-7 days before the final SDK is announced. So why the change in number of instances? I don't think you can read too much into it. Under the current pricing scheme Google's incentive is to optimise the scheduler because they pay for any inefficiencies. They can't run every machine at 100% utilisation all the time. It may be the case that the machines your app happened to be deployed to last week had spare capacity and Google calculated that it was more efficient to leave more of your instances relatively idle in memory that to stop and restart them. This week, perhaps some collocated apps had a traffic spike and Google calculated that it would be more efficient to allocate some of those instance slots to someone else. -- 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] creating a new app using a google apps account
The above nolonger seems to work. Now when I sign in, I see the 3 applications that I already created, but the page says I have 10 applications remaining. When I click Create Application I am asked to varify with a mobile number again. Anybody have some advice? I've run out of mobile numbers ;) Regards -- 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] creating a new app using a google apps account
I tried the fix http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FstZriHKAzs8%2Fdiscussion which sorts out conflicting accounts. Still no luck. -- 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: 1.5 improvements Make me less scared of Pricing
No doubt when I moved to HR my instances basically quit dying. With M/ S an idle instance would be killed off quickly, with HR they hang around for days. At the time I was very happy about this. This was a complaint in the past (how fast Google killed idle instances.) But now I think the reverse will happen and people will want them terminated as quickly as possible. On May 13, 6:40 am, Greg g.fawc...@gmail.com wrote: I'm not seeing any significant reduction in instances either. I did notice that I got a lot more idle instances when I moved from MS to HR datastore, for some reason - maybe they are starting to rationalise this and haven't got to my instances yet. Cheers Greg. -- 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: 1.5 improvements Make me less scared of Pricing
Currently all my python scripts use the script-or-module mechanism as recommended by the docs application = webapp.WSGIApplication([('/somepage', SomeHandler), ('/anotherpage', AnotherHandler)], debug=True) # GAE will look for a main() with no args and, if found, caches this script # so we supply one to make the requests more efficient def main(): run_wsgi_app(application) # How a file can be both a script and an imprtable module... if __name__ == __main__: main() I'm wondering if I rename that function to not be main, hence making the page just a script and no longer an importable module, will that effectively kill the instance after the script runs (my load time is minimal - most of my pages simply do datatore-query - JSON or the reverse) and so minimise my instance hours ?? Would it be possible to add something to the GAE API's so that an instance can suggest how long it would like to hang around for, or an ability to explicitly request to kill itself ? -- 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: App key And App secret
Are you talking about oauth? If so here you go: https://www.google.com/accounts/ManageDomains http://code.google.com/p/gwt-examples/wiki/DemoGwtGData - oauth demo Brandon Donnelson -- 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: Can't login to appengine
Try this? https://appengine.google.com/ Brandon Donnelson http://gwt-examples.googlecode.com -- 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: Google App Engine OAuth endpoints throwing 400 in production.
Thanks for the reply. I have not registered the app. I didn't think that was required when using Google App Engine as the service provider. I'll register and test it out. Will On Fri, May 13, 2011 at 12:05 AM, Robert Kluin robert.kl...@gmail.comwrote: Hi Will and Samuel, Have you guys tried registering your apps? http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html I think this is discussed a bit in the oauth docs: http://code.google.com/apis/accounts/docs/OAuth.html#prepRegister Robert On Thu, May 12, 2011 at 17:34, Samuel Harper sampy...@gmail.com wrote: Hi all, Has anyone found a solution for this? I'm developing an Android app using GAE and we're having the same issue. 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. -- 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. -- 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: Google App Engine OAuth endpoints throwing 400 in production.
Some questions: My app is on Google App Engine at http://application-id.appspot.com, and I have a domain, http://www.application-id.com registered (with Google) and pointing to the appspot domain. 1) Do I still need to register even though these are both Google registered domains? 2) Do I register the both the appspot and custom domains? On Fri, May 13, 2011 at 8:57 AM, Will Merydith will.meryd...@gmail.comwrote: Thanks for the reply. I have not registered the app. I didn't think that was required when using Google App Engine as the service provider. I'll register and test it out. Will On Fri, May 13, 2011 at 12:05 AM, Robert Kluin robert.kl...@gmail.comwrote: Hi Will and Samuel, Have you guys tried registering your apps? http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html I think this is discussed a bit in the oauth docs: http://code.google.com/apis/accounts/docs/OAuth.html#prepRegister Robert On Thu, May 12, 2011 at 17:34, Samuel Harper sampy...@gmail.com wrote: Hi all, Has anyone found a solution for this? I'm developing an Android app using GAE and we're having the same issue. 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. -- 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. -- 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] Invalid runtime or the current user is not authorized to use it. Go language
peinguin@debian:/home/projects$ appcfg.py --passin --no_cookies update pingvein/ Application: pingvein; version: 1 Host: appengine.google.com Starting update of app: pingvein, version: 1 Scanning files on local disk. Email: pingv...@gmail.com Password for pingv...@gmail.com: _ Error 400: --- begin server output --- Invalid runtime or the current user is not authorized to use it. --- end server output --- -- 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: Not-for-profit Suggestion
Perhaps students would also appreciate a little help with the pricing/ free-quota too... I know this one would ;) On May 11, 11:04 am, Gregory D'alesandre gr...@google.com wrote: Thanks Joshua, that's not a long shot at all and a great idea! We are already looking into what we can do in this area. Thanks again for the thoughts on this! Greg D'Alesandre Senior Product Manager, Google App Engine On Wed, May 11, 2011 at 7:31 AM, Joshua Smith joshuaesm...@charter.netwrote: I know this is a long shot, but… My company uses GAE for lots of things, and, as a for-profit company, we're willing and able to pay for things of value. I'm pretty sure the $9/mo + whatever isn't going to cause us to switch cloud providers. But in my personal time, I've also used GAE for some not-for-profit applications. One for my local library to manage their interlibrary loan requests (which I'm sure will be able to live within the free quotas), and another for small towns to use to meet Massachusetts Open Meeting Law requirements (which I'm sure will NOT be able to live within the free quotas). See:http://www.mytowngovernment.org I'm wondering if Google might start a program to waive the $9/mo fee for public-good type applications like this. Ideally it would not require that I have a proper 501c3, since getting one of those approved costs a fortune these days. Perhaps it could be handled casually, like the can I please have more than 10 apps requests are today. In my about page, I warned towns that they should budget for the open meeting site to eventually cost something, because I figured the GAE free lunch couldn't last forever. But I think it would be a terrific non-evil thing for Google to consider starting a program to give away their services for not-for-profit applications. -Joshua -- 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. -- 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: Is App Engine suddenly becoming more expensive???
I am very unclear, even after reading this thread and elsewhere, what impact the scheduler will have on reducing my instances for my python based app. I don't have a particularly intense app - log some data, analyze some data, push some data into spreadsheets. .62 CPU/hrs/day6 instances @ 30MB each. I can't imagine what I would code to make them go away. Or do I have to port to Java? I'm paying $50/yr, which is really cheap. However, 5 instances (1 free, right) @ .05/hr = $180/month just for the instances. 6 instances @ 30MB each$2160/yr... An AWS Micro instance has 613MB of ram and can burst to 2 ECU's and costs $115/yr The $9/mo for single instance looks a lot like AWS pricing (from a $ standpoint) but then you must give us the tools to make things multi- task. I must think that my app uses less resources than something cranking away multi-threaded in a single instance... Looking forward to some docs and maybe some revised pricing -Aaron -- 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] GAE vs other stuff Clouds and the rest
Hey guys, I am about to develop three new apps that range from small, medium, and large. (I'm a Python developer) Knowing the price changes now would you guys still recommend that I build things in Google App Engine? What other benefits do we get for having GAE? Migrating any application from one cloud to another cloud is still very difficult, and never an easy job. Any cloud infrastructure then becomes somewhat vendor lock-in. Though GAE's datastore API' take more time to migrate over. Jonathan C. -- 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] Need help with My Traceback error
traceback: -- BEGIN- Frame in ['main.py'] at line 30 Frame main in ['main.py'] at line 27 Frame run_wsgi_app in ['__init__.py'] at line 1076 Frame run in ['handlers.py'] at line 93 Frame finish_response in ['handlers.py'] at line 133 Frame appstats_wsgi_wrapper in ['recording.py'] at line 857 Frame wsgi_app in ['__init__.py'] at line 378 Frame dispatch in ['__init__.py'] at line 505 Frame dispatch in ['handlers.py'] at line 82 Frame dispatch in ['__init__.py'] at line 179 Frame get in ['handlers.py'] at line 162 Frame commonhandler in ['handlers.py'] at line 159 Frame loads in ['__init__.py'] at line 232 Frame decode in ['decoder.py'] at line 251 _w = s = None self = Traceback (most recent call last): File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/ handlers.py, line 65, in dispatch return RequestHandler.dispatch(self, *args, **kwargs) File distlib/tipfy/__init__.py, line 171, in dispatch response = method(**rule_args) File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/rpc/ handlers.py, line 162, in get return self.commonhandler(**kwargs) File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/rpc/ handlers.py, line 54, in commonhandler kwargs = simplejson.loads(request.args.get('args', None)) File /base/python_runtime/python_lib/versions/third_party/django-0.96/ django/utils/simplejson/__init__.py, line 232, in loads return cls(encoding=encoding, **kw).decode(s) File /base/python_runtime/python_lib/versions/third_party/django-0.96/ django/utils/simplejson/decoder.py, line 251, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) TypeError: expected string or buffer ---END-- I don't know how it caused . Just got a mail of traceback .. Thanks , Mihir -- 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] Custom domain stopped working suddenly.
Hello. I have a app running at http://shahindemo.appspot.com I was accessing it using custom domain : http://www.colact.com This suddenly stopped working. ping www.colact.com PING ghs.l.google.com (74.125.43.121): 56 data bytes 64 bytes from 74.125.43.121: icmp_seq=0 ttl=38 time=492.186 ms 64 bytes from 74.125.43.121: icmp_seq=1 ttl=38 time=523.077 ms I noticed that if i making the following entry in /etc/hosts file of my machine things work. 74.125.95.121 www.colact.com below is my dns cname record www.colact.com Alias (CNAME) ghs.google.com *.colact.com Alias (CNAME) ghs.google.com Please help -- 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] api method to find records within x miles of geo location
I saw the documentation on bigtable fields, one of them is geographical point. Is there an function to find all records within a certain radius of given lat and long. -- 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] trace back : TypeError: expected string or buffer
traceback: -- BEGIN- Frame in ['main.py'] at line 30 Frame main in ['main.py'] at line 27 Frame run_wsgi_app in ['__init__.py'] at line 1076 Frame run in ['handlers.py'] at line 93 Frame finish_response in ['handlers.py'] at line 133 Frame appstats_wsgi_wrapper in ['recording.py'] at line 857 Frame wsgi_app in ['__init__.py'] at line 378 Frame dispatch in ['__init__.py'] at line 505 Frame dispatch in ['handlers.py'] at line 82 Frame dispatch in ['__init__.py'] at line 179 Frame get in ['handlers.py'] at line 162 Frame commonhandler in ['handlers.py'] at line 159 Frame loads in ['__init__.py'] at line 232 Frame decode in ['decoder.py'] at line 251 _w = s = None self = Traceback (most recent call last): File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/ handlers.py, line 65, in dispatch return RequestHandler.dispatch(self, *args, **kwargs) File distlib/tipfy/__init__.py, line 171, in dispatch response = method(**rule_args) File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/rpc/ handlers.py, line 162, in get return self.commonhandler(**kwargs) File /base/data/home/apps/wolfff4/14.348387106974957643/apps/wolf4/rpc/ handlers.py, line 54, in commonhandler kwargs = simplejson.loads(request.args.get('args', None)) File /base/python_runtime/python_lib/versions/third_party/django-0.96/ django/utils/simplejson/__init__.py, line 232, in loads return cls(encoding=encoding, **kw).decode(s) File /base/python_runtime/python_lib/versions/third_party/django-0.96/ django/utils/simplejson/decoder.py, line 251, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) TypeError: expected string or buffer == The error is reproducible when in rpc/handlers.py when i try to write something to url which is calling its get method. the error is at this line kwargs = simplejson.loads(request.args.get('args', None)) . need help with this traceback. -- 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] Unable to deploy since 1.5.0 rollout Index errors
I've only been able to deploy during about a 2 hour window since the 1.5.0 rollout. Every other deployment attempt with the 1.4.3 maven plugin failed. Yesterday I was able to initiate a new application deployment within the 1.4.3 eclipse plugin that ended in a deployment with indexes in error. Now I'm unable to deploy any new version nor delete the indexes. It asks me to vacuum_indexes but that operation fails consistently as well. How can i get this fixed? It appears it's outside from what I can do with the appcfg 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] Testing Channel API with many clients
Hi, I am currently trying to test my app that uses Channel API with many clients. In particular, I would like to figure out how many clients my app sends messages to per sec in real deployed app (I am aware of the service has several quota criteria). Have anybody try that and how? The problem for me is emulating Channel API JavaScript client codes. It looks like the code generates some strings such as xpc-cn string when connecting to http://talkgadget.google.com/talkgadget/d for example. The only solution I could think of is to read the code and reimplement for tester client code in whatever the language. Is this the only way? I would like to hear how other people solve this kind of problem. Thanks, Toru Furukawa -- 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] Index error vacuum error on Linux Windows
Gosh. This is really annoying with no place to turn for help. My app engine app has an index error and there is no way to resolve it. Index error is persistent and vacuum_indexes fails on linux and windows. Were can I get help with this? -- 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] Trying to make abstract os module with file, folder functions on google app engine
I am making simple python web ide with git actions on gae. due to gae doesn't support file system, I need to make abstract os module for gae. I am following all the rules from posix systems. and save file, folder structure in gae model and store files in blob store. and I am stuck on implementing os.getcwd() function. the function needs to distinguish each client and save current status for each client. any idea or implementions or words would be great help for me. 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] UserService.createLoginURL() - attributes format
Hi, I would like to know the format of the attributes parameter. It receives a SetString but the content of strings is not specified in the documentation or on the web. What I would like to do is ask for the first/last name for example as most IDP accept the attribute exchange. Thanks for your help, Morgan -- 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] New pricing and accessing external Services
Hi Maximilian, Thanks for the feedback. We're hoping that the different offerings available will allow you to architect around this. For instance - you can use the pull queues feature to push tasks to background servers, and use those to do synchronous URLfetches. Alternatively, another solution may be an RPC/callback based infrastructure (it sounds like you are in control of the remote services). One of the sustainability issues with the current billing model is that memory usage constitutes a non-trivial cost. While it's true that instances will sit idle and not cost CPU, they consume memory just by way of existing. Just out of curiosity, are you using Java or Python? Ikai Lan Developer Programs Engineer, Google App Engine Blog: http://googleappengine.blogspot.com Twitter: http://twitter.com/app_engine Reddit: http://www.reddit.com/r/appengine On Thu, May 12, 2011 at 10:58 AM, Maximillian Dornseif m.dorns...@hudora.de wrote: We run a bunch of internal Applications and a bunch of public experiments on GAE. The internal Applications are critical for our company but previously GAE4B as not sustainable for us - see https://groups.google.com/group/google-appengine/msg/00ad4ae42b320ebd . The new pricing model addresses most of my concerns regarding GAE4B. Until now we have paying one or two dozen US$ for running highly critical business applications on GAE and frankly that was too cheap. I hope it will not get too expensive in near future. We spend a LOT of time in urlfetch. Connecting to S3, (PDF generation|OCR|SOLR|SQL|Authentication|etc) as a Webservice. So our instances spend most time sitting there consuming memory and no CPU and waiting for some external Service to do something. This waiting was up to now certainly to cheap - more or less fro free. But seeing it being billed by the instance hour somewhat worries me. When running big map reduce jobs currently we see 40-60 instances coming online for a few minutes, costing us nearly nothing because they consume barely CPU - too cheap. The new pricing model would make such runs probably too expensive. I hope in instance parallelism will help here but I'm skeptical. Also it was nice to be able to host experimental/pro bono applications which received only a few hundred requests per hour at a very competitive price. It would be a shame if GAE would drop out of that model. I understand for the Premium subscription this is still possible, but for 9U$/month/app it will not viable for most people to run half a dozen tiny apps on GAE. Perhaps this is intentional, perhaps not. Still, I'm happy for GAE to be moving in the direction of becoming a real business. I'm also impressed by Google beeing open about the fact that this actually IS a price increase. --md -- 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. -- 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: RE: [google-appengine] Re: Party like it's 1970? auto_now_add=True
Just FYI, DateProperty, TimeProperty and DatetimeProperty all store the same type in the datastore: a datetime representation. The difference is that the first two are stored incomplete (on DateProperty, time will be 00:00 00:00, on TimeProperty, date will be 1970-01-01), and that's what you see in the datastore. It's hard to justify using DateProperty or TimeProperty since the storage space used and underlying type are the same, so I end always using DatetimeProperty. -- rodrigo -- 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: RE: [google-appengine] Re: Party like it's 1970? auto_now_add=True
nice information, thnks ! did't know they use same space but always used datetimeproperty. On Fri, May 13, 2011 at 8:40 PM, Rodrigo Moraes rodrigo.mor...@gmail.comwrote: Just FYI, DateProperty, TimeProperty and DatetimeProperty all store the same type in the datastore: a datetime representation. The difference is that the first two are stored incomplete (on DateProperty, time will be 00:00 00:00, on TimeProperty, date will be 1970-01-01), and that's what you see in the datastore. It's hard to justify using DateProperty or TimeProperty since the storage space used and underlying type are the same, so I end always using DatetimeProperty. -- rodrigo -- 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. -- 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] B8 vs B4 vs B2 vs B1 , B8 = B4 ?
And you could also use the timeit module ( http://docs.python.org/library/timeit.html): import timeit print timeit.Timer('喔喔.decode(utf-8)').timeit() On Fri, May 13, 2011 at 2:48 AM, Brandon Wirtz drak...@digerat.com wrote: Add 50 characters and double your loop amount. You aren't pushing it hard enough that you get an accurate number. -Original Message- From: google-appengine@googlegroups.com [mailto: google-appengine@googlegroups.com] On Behalf Of ?? Sent: Friday, May 13, 2011 2:07 AM To: Google App Engine Subject: [google-appengine] B8 vs B4 vs B2 vs B1 , B8 = B4 ? def test(i = 100): t = datetime.datetime.now() while i: i -= 1 '喔喔'.decode('utf-8') print datetime.datetime.now()-t test() B8 time: 0:00:01.520756 B4 time: 0:00:01.524307 B2 time: 0:00:02.342202 B1 time: 0:00:03.492686 B8 = B4 ? -- 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. -- 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. -- 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: Not-for-profit Suggestion
Thanks Rob, this is indeed something we are working on as well. It will be in the FAQ, which should be out later today... Greg On Wed, May 11, 2011 at 8:33 PM, Rob MacEachern r...@robmaceachern.comwrote: Perhaps students would also appreciate a little help with the pricing/ free-quota too... I know this one would ;) On May 11, 11:04 am, Gregory D'alesandre gr...@google.com wrote: Thanks Joshua, that's not a long shot at all and a great idea! We are already looking into what we can do in this area. Thanks again for the thoughts on this! Greg D'Alesandre Senior Product Manager, Google App Engine On Wed, May 11, 2011 at 7:31 AM, Joshua Smith joshuaesm...@charter.net wrote: I know this is a long shot, but… My company uses GAE for lots of things, and, as a for-profit company, we're willing and able to pay for things of value. I'm pretty sure the $9/mo + whatever isn't going to cause us to switch cloud providers. But in my personal time, I've also used GAE for some not-for-profit applications. One for my local library to manage their interlibrary loan requests (which I'm sure will be able to live within the free quotas), and another for small towns to use to meet Massachusetts Open Meeting Law requirements (which I'm sure will NOT be able to live within the free quotas). See:http://www.mytowngovernment.org I'm wondering if Google might start a program to waive the $9/mo fee for public-good type applications like this. Ideally it would not require that I have a proper 501c3, since getting one of those approved costs a fortune these days. Perhaps it could be handled casually, like the can I please have more than 10 apps requests are today. In my about page, I warned towns that they should budget for the open meeting site to eventually cost something, because I figured the GAE free lunch couldn't last forever. But I think it would be a terrific non-evil thing for Google to consider starting a program to give away their services for not-for-profit applications. -Joshua -- 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. -- 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. -- 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: So Tell Me About GO
On May 12, 8:17 pm, stevep prosse...@gmail.com wrote: Point of emphasis: Google's execs have a fiduciary responsibility to make decisions they believe will best benefit shareholders, not small developers. How does running off all the developers benefit the shareholders? -- 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] B8 vs B4 vs B2 vs B1 , B8 = B4 ?
Please see the Backends talk from Google IO (http://www.youtube.com/watch?v=-kepYfCBg6w). It is mentioned in this talk that a single thread is only able to use 2.4Ghz of cpu. This is why a B4 and B8 appear the to have the same amount of cpu time in your example. To take full advantage of the cpu available in a B8, you have to use the java runtime at the moment. It is important to note that a B8 also has twice the memory that a B4 has. This means you may still want to use a B8 python backend to take advantage of the 1GB of ram. On 13 May 2011 09:23, Robert Schuppenies schu...@google.com wrote: And you could also use the timeit module (http://docs.python.org/library/timeit.html): import timeit print timeit.Timer('喔喔.decode(utf-8)').timeit() On Fri, May 13, 2011 at 2:48 AM, Brandon Wirtz drak...@digerat.com wrote: Add 50 characters and double your loop amount. You aren't pushing it hard enough that you get an accurate number. -Original Message- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of ?? Sent: Friday, May 13, 2011 2:07 AM To: Google App Engine Subject: [google-appengine] B8 vs B4 vs B2 vs B1 , B8 = B4 ? def test(i = 100): t = datetime.datetime.now() while i: i -= 1 '喔喔'.decode('utf-8') print datetime.datetime.now()-t test() B8 time: 0:00:01.520756 B4 time: 0:00:01.524307 B2 time: 0:00:02.342202 B1 time: 0:00:03.492686 B8 = B4 ? -- 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. -- 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. -- 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. -- 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: Backends clarifications
This sounds like a excellent use of backends. I believe that there is currently a limitation that a channel created in a frontend (ie, your default version) is not able to be used to send messages from a backend. As noted in the Google IO talk, we are currently working on removing this restriction. For the moment, you could work around this limitation by creating the channel in the backend that you want to send messages from, then pass it back to the frontend/user. On 13 May 2011 02:37, Richard Arrano rickarr...@gmail.com wrote: Ah that's great news then, I didn't realize that. Greg: Thanks for the link, I was a bit misunderstood and didn't see it in the App Engine Samples. One thing that's intrigued me about the reserved backend, and it mentions in the documentation, is to keep track of game states. I was hoping someone could tell me if this setup would make sense: if I need to update possibly hundreds of game states, and by update I mean sending out actual updates via the Channel API, I thought I could do this by two separate instances. One of which holds the data(there isn't much data to keep track of, 128MB may be sufficient), the other operates on a while loop that only exits when all games have completed and runs every second or every other second using time.sleep(1000) or 2000. It sends out updates to each client in each game that requires updates, and gets the data from the other backend instance. Then it would sleep until the next iteration. Is this a sensible use of backends or is this actually more suited to tasks? I was originally using tasks that enqueue a new task each following second to accomplish this. Which one would be better and why? Thanks, Richard On May 12, 11:10 am, Gregory D'alesandre gr...@google.com wrote: On Thu, May 12, 2011 at 3:32 AM, Richard Arrano rickarr...@gmail.comwrote: Hello, I have a few questions about the new Backends feature: It seems like a reserved backend allows us to have access to a sort of unevictable memcache, is this correct? If I were doing something like a game, would it be reasonable to have a single instance keep track of a few pieces of vital information about each game? The sum of which might be around 1MB of information at any given time. How would I go about this anyway? Address the reserved instance and how would I set a value in its memory? And just to be clear, there's no free version of Backends, correct? Actually, there is! You get $0.72 worth of backends free per day (this can be used in any configuration you'd like 9 hours of a B1 or 1 hour of a B8 + 1 hour of a B1, etc). Greg Thanks, Richard -- 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. -- 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. -- 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: Question about dynamic backends
Good question. Here's how this works. For the moment, let's only consider resident backends: 1) Backends are charged for uptime by the minute. 2) Whenever a backend instance goes down, the system will continue to bill for an extra 15 minutes. 3) If a backend comes back up within the 15 minute period after it last shut down, it gets partial credit for the time it would have been charged for. For example, let's say a backend instance starts up and runs for 30 minutes, and then stops. The total charge is 45 minutes. Taking another step, let's say a backend instance starts up and runs for 30 minutes, stops, and then comes back up 10 minutes later and runs for an hour. The total charge is as follows: - 30 minutes for the first uptime interval - 10 minutes of additional time - 60 minutes for the second uptime interval - 15 minutes of additional time Total time elapsed: 115 minutes Total time billied: 115 minutes Thus, you could describe this system as blended intervals, where we never double-charge for uptime, and smooth across periods of downtime that last less than 15 minutes. So the 15-minute charge for startup is a simplified way of explaining things. You can think of it that way, but you're never double-counted for uptime. Dynamic backends work the same way, except that we use active intervals rather than uptime intervals. If your dynamic backend is handling a request, it is considered active. As an example, let's say your dynamic backend was handling requests for 30 minutes, then was idle for 10 minutes, then handled requests for another 60 minutes. The charge would work out exactly as the example above, except that your backend would likely be evicted after about ~2-5 minutes of idle time. So the timeline looks like: - startup - active for 30 minutes - idle for 3 minutes - shutdown - down for 7 minutes - startup - active for 60 minutes - idle for 3 minutes - shutdown Since the period of downtime was less than 15 minutes, the total charge is as if the backend was active for 100 minutes, with an extra 15 minutes appended at the end. The upshot of all this is that the system encourages you to keep your backend instances up and active for long periods, rather than starting and stopping them regularly. If you're doing that, then you probably don't need to use a backend. -- 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: Does size (of the datastore) really matter?
Thanks Robert. Keeping field names small is good advice. I like to do that and use an interface for the more readable names outside the DAO in my domain model. Every scenario i have for splitting up the data just means more CPU when it's better to just leave it be. On May 13, 1:29 am, Robert Kluin robert.kl...@gmail.com wrote: Hi Ben, I've dealt with several apps who's datastores are growing by millions of entities per day, they have billions of entities. The performance remains the same, provided you're not returning an ever increasing number of results. If you're just asking the see all data between two timestamps for a given user, you'll be fine. Unless there is some other reason to, I would probably not personally waste the resources to batch and compres the data. If it is about reducing storage cost, you're liable to spend more money in CPU time mapping the data to bundle, compress, and index it than just paying for the storage space of the entities. What you might want to think about, if you're not already, is making sure you use very short kind and property names in the datastore. Storing the property name millions of times can add up, especially if you've got long property names on indexed properties. I've been using the namespace (multitenant) feature in some apps. It works well when there is a very clear and distinct boundary. It can make things like sharing data outside the namespace more difficult though, since you can not query across namespaces. Robert On Thu, May 12, 2011 at 11:26, Benjamin bsaut...@gmail.com wrote: Hi Guys, My app has taken off recently, and it's been very exciting to see so much traffic. I am trying now to deal with a very high volume of infrequently accessed /archival data store entries and making sure i'm not going to hit a performance / cost bottleneck. Let's say I have a store of entities without any relationships that grows by 100,000 a day. The entries are accessed by a query for three properties (a foreign key and timestamps that are between two provided dates), usually returning several thousand values at a time. Any advice for the best way to store these values? I have been considering splitting the data i'm storing into tenants, using a multitenant architecture, using a background task to compress chunks of data into blobs and putting them in the store, and so on, but i'm wondering if the values are indexed is it smarter to just leave them alone and let the store grow to billions of entries. Do queries slow down by N as the datastore / index grows? Thoughts? Is there a performance benefit with a multi-tenant architecture? Ben My app is an online data historian called Nimbitswww.nimbits.com- it's free and open source on google code and allows developers to feed sensor data into data points to do calculations, alerts, relay etc - Internet of things sort of thing. -- 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] So Tell Me About GO
The value of a language is more than just the language core and standard libraries. It's also in the ecosystem around the language. Python has an awesome ecosystem around it and a decent chunk of packages can run unmodified on App Engine (though some key packages can't run on GAE). Deciding to rewrite your code from scratch is no small undertaking. It's sad that you're forced to consider this. I think Java is a better bet at this point. There's no telling when GAE's Go will have the single-thread restrictions lifted. Plus, the ecosystem around Java is arguably much larger than that around Go. saidimu On Thu, May 12, 2011 at 9:34 PM, Brandon Wirtz drak...@digerat.com wrote: I learned Python specifically for working on GAE. I reasonably suck at the language but it had advantages of reduced overhead which I thought would make it the ideal choice for GAE and enterprise class deployments where 5% increase in performance meant 5% on my bottom line. Everything I read says that GO is great for multi-threaded Applications. Awesome! Then you read the Google bits: The Go runtime environment for App Engine provides full support for goroutines, but not for parallel execution: goroutines are scheduled onto a single operating system thread. This single-thread restriction may be lifted in future versions. So…. Do I port my python app to Java knowing I get multi-thread and can save a crap ton of money on instances when the new pricing hits? Or do I port my code to GO expecting that it will be the multi-thread homerun that it is on other platforms? OR…(highly unlikely) Do I hope that GAE makes the instances smaller and cheaper when running python so that I can get $.02 per hour instances that are 1 4th the size so they run at 100% cpu instead of 25% cpu? Essentially I’m asking “It appears in the new paradigm pricing was optimized for Java, is this the case or is it optimized for GO and Java just gets the benefits right now, or is Python really what GAE was born for and will it come back to being the cost favorite?” -Brandon -- 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. -- 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] So Tell Me About GO
I write really clean code with a single task in mind, so it isn't as bad as it sounds. As long as there is Memcache and Regex, I'm 90% of the way there. As it happens I'm rewriting all of my code in python at the moment to remove cruft, and to increase my efficiency in not just serving content but in managing my transaction logs. I have been storing a lot of stuff I didn't know if I would need later. From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of saidimu apale Sent: Friday, May 13, 2011 12:52 PM To: google-appengine@googlegroups.com Subject: Re: [google-appengine] So Tell Me About GO The value of a language is more than just the language core and standard libraries. It's also in the ecosystem around the language. Python has an awesome ecosystem around it and a decent chunk of packages can run unmodified on App Engine (though some key packages can't run on GAE). Deciding to rewrite your code from scratch is no small undertaking. It's sad that you're forced to consider this. I think Java is a better bet at this point. There's no telling when GAE's Go will have the single-thread restrictions lifted. Plus, the ecosystem around Java is arguably much larger than that around Go. saidimu On Thu, May 12, 2011 at 9:34 PM, Brandon Wirtz drak...@digerat.com wrote: I learned Python specifically for working on GAE. I reasonably suck at the language but it had advantages of reduced overhead which I thought would make it the ideal choice for GAE and enterprise class deployments where 5% increase in performance meant 5% on my bottom line. Everything I read says that GO is great for multi-threaded Applications. Awesome! Then you read the Google bits: The Go runtime environment for App Engine provides full support for goroutines, but not for parallel execution: goroutines are scheduled onto a single operating system thread. This single-thread restriction may be lifted in future versions. So.. Do I port my python app to Java knowing I get multi-thread and can save a crap ton of money on instances when the new pricing hits? Or do I port my code to GO expecting that it will be the multi-thread homerun that it is on other platforms? OR.(highly unlikely) Do I hope that GAE makes the instances smaller and cheaper when running python so that I can get $.02 per hour instances that are 1 4th the size so they run at 100% cpu instead of 25% cpu? Essentially I'm asking It appears in the new paradigm pricing was optimized for Java, is this the case or is it optimized for GO and Java just gets the benefits right now, or is Python really what GAE was born for and will it come back to being the cost favorite? -Brandon -- 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 mailto:google-appengine%2bunsubscr...@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. -- 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: New pricing and accessing external Services
On May 13, 5:02 pm, Ikai Lan (Google) ika...@google.com wrote: [...] you can use the pull queues [...] another solution may be an RPC/callback based infrastructure Good suggestions but they will make the code more complex. Than again: I can do a development / hosting cost trade-off an that's fine with me. An other approach will be using async urlfetch although this will also need some serious reengineering of our client libraries. Callback and Pull-Que approaches will make our apps less robust and harder to understand and debug. In a urlfetch API the dashboard alone can give you a very good indication if a addressed service starts failing. With pull queues you additionally have to monitor the queue sizes and need to have a feeling what can be considered normal. With Callbacks you have to build the monitoring all by yourself. Async programming is much harder to get right ... Just out of curiosity, are you using Java or Python? Python. And all in all I'm very happy with AppEngine. --md -- 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] Drop Table equivalent?
I know people have asked variations of this question, and the solution has always been to drop entities 1000 at a time, But have an app that the cleanup code had a misspelling so it never did anything except clean things that didn't exist. Is there a Drop Table equivalent? Or do I really query 1000 and delete over and over. Cause it appears that's going to be like $100 which is fine.. If that is the best solution, but if there is a drop table equivalent that is $5 I'd really like that so that I can use it in my code that would normally get charged the $100 over 6 months . -- 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: Cannot log in. Not authorized to access this application
@daodao Greg who ? On May 13, 8:33 am, daodao daoda...@gmail.com wrote: I got the solution. Thanks Greg. It's the problem that my account was recently changed to a new type of account. The solution is: 1.Login my admin account of my custom domain (mail.mydomain.com) 2.go to Google Apps domain admin panel 3.click Organization and users 4.click Services under Organization and users tab 5.turn on Google App Engine 6.click Save changes Done On May 9, 1:27 pm, daodao daoda...@gmail.com wrote: I receive the message as follows when trying to log into my google apps appengine account. Unauthorized You are not authorized to access this application. I'm using custom domain. I have tried both appengine.google.com/a/ mydomain and appengine.google.com. Any help? -- 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: Google App Engine OAuth endpoints throwing 400 in production.
OK I have some new information and questions to add to this discussion: 1 - There is some confusion in the documentation over whether registration is required or not. Both here http://code.google.com/appengine/docs/python/oauth/overview.htmland herehttp://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html, it says registration is optional. Regardless, I have registered my app. 2 - When going through the process of registering your application with Google, you're informed that a certificate is not necessary on Google App Engine, and that the OAuth signature method is HMAC-SHA1. Can anyone confirm that as the case for using the OAuth for Python? 3- Testing this locally doesn't provide much feedback because no matter what you pass, it works. On appspot, it's the opposite problem because there's no information on what failed. I've tried the OAuth Playground, which is great, but wanted to verify that it supports testing OAuth for python. I am using it to test my Request for a Token and it fails, reporting, signature_invalid. The documentation on signature construction is confusing, in some cases it indicates sending a base string to the server that is the request url encoded, and in other places it seems to be saying that you pass the string directly as in: oauth_signature=wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D Can anyone clarify? -- 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] What do you want to see answered in Greg's pricing FAQ?
Thanks for the collection of links, very useful. Hacker News isn't the fount of wisdom it once was (if its mythology is to be believed), but here's the money quote from a Hacker News thread: I guess I felt that my implicit feelings on App Engine were something like, Hey hackers! You should totally rewrite your apps for our Google systems that are a lot more efficient than other systems. Yeah, there are some annoying restrictions that you'll have to get used to and are totally a pain for some things. Still, out service is cheap for loads of usage and really cheap even after that so you're spending a little programmer time for no-hassle-scaling and cheaper hosting than anything you can get! However, they've consistently lowered the free usage tier to being a fraction of what it once was, they're now charging a ton more with their instance-hour model compared to the old CPU based model, a bit of the reliability/scaling sheen has worn off as it's had problems, other competitors have been aggressively entering this space, and you still have to alter your apps specifically for their architecture. I'm not saying that App Engine doesn't have value, just that it feels very different. http://news.ycombinator.com/item?id=2533898 saidimu On Thu, May 12, 2011 at 5:46 PM, Vanni Totaro vanni.tot...@gmail.comwrote: Hi Greg, no FAQ from you yet... so in the meanwhile here it is a list of links you (and Ikai, Nick, Justin, etc.) should visit to know what gae users said in the last couple of days about pricing news. GAE Forum topics: http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FVCYbRH4WWBI%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2Fig3iefPvvzc%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2F8qFRSYBCXUs%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FI34-L5CFCTM%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FD-9KTCKlADk%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FxwCz5MF_zpw%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FavsuoqrJXu8%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FS1VY_7M9RZg%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2F48RZl_m2uG0%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2F6DLRc1GXNYY%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FHs9iLKB6sUM%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FnevG0iZ9WHw%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2F_l06D9uBZpI%2Fdiscussion http://code.google.com/appengine/forum/?place=topic%2Fgoogle-appengine%2FdH_LmXNAL9k%2Fdiscussion http://code.google.com/appengine/forum/python-forum.html?place=topic%2Fgoogle-appengine-python%2FOUexOoyjnak%2Fdiscussion http://code.google.com/appengine/forum/java-forum.html?place=topic%2Fgoogle-appengine-java%2F1jfPXqdz_LA%2Fdiscussion http://code.google.com/appengine/forum/java-forum.html?place=topic%2Fgoogle-appengine-java%2F8ulE2tOW-Co%2Fdiscussion GAE Blog comments: http://googleappengine.blogspot.com/2011/05/year-ahead-for-google-app-engine.html http://googleappengine.blogspot.com/2011/05/app-engine-150-release.html http://googleappengine.blogspot.com/2011/05/app-engine-at-io-2011-day-2.html Hacker News comments: http://news.ycombinator.com/item?id=2533416 http://news.ycombinator.com/item?id=2533413 Reddit comments: http://www.reddit.com/r/AppEngine/comments/h8sue/rip_appengine_xpost_from_rpython/ http://www.reddit.com/r/Python/comments/h8stj/rip_appengine/ http://www.reddit.com/r/AppEngine/comments/h8971/new_app_engine_pricing_what_do_you_think/ http://www.reddit.com/r/AppEngine/comments/h86jq/go_app_engine/ http://www.reddit.com/r/AppEngine/comments/h8ib4/app_engine_150_released/ Regards, Vanni -- 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. -- 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: So Tell Me About GO
If you look at the go docs it looks like it only supports sync ops on urlfetch/datastore/etc. However when one of these ops is started then other goroutines start running. And the goroutines can send messages to each other. So go provides the only language-native async system for gae. Rob Pike claims that this is a good way to think about async operations. There isn't much CPU involved usually, so the restriction to 1 thread is really irrelevant most of the time. However you'd need to be very brave to go for go when we haven't even seen a draft of how they plan to do transactions and channels. Or have we? -- 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.