[appengine-java] Re: UserService functionality when run via cron
You can find the bug reported in googleappengine Google Code Project with Issue number 4230: http://code.google.com/p/googleappengine/issues/detail?id=4230q=isUserAdmincolspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log Votes in favor of fixing it are encourages (by 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-j...@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] gae不支持事务?
Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@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] gae不支持事务?
支持事务,但是不能在同一个事务中操作属于不同实体组的实体。 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException:* can't operate on multiple entity groups in a single transaction*. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@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] gae不支持事务?
You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] gae不支持事务?
Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@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: GWT Designer for NetBeans
True. Moved already. Cheers. Kido. On 16 December 2010 04:03, Didier Durand durand.did...@gmail.com wrote: Hi, A more appropriate place to post this question is http://groups.google.com/group/google-web-toolkit regards didier On Dec 15, 8:03 pm, kidowell crui...@gmail.com wrote: Hey, is there any gwt designer for NetBeans out there?. It would be nice to place all the design and receive automatically the code for it. I have read theres a plugin for Eclipse but I can't find anything for NetBeans. Any sugestion?. Cheers. Kido. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Cesar Ruiz. -- 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-j...@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] gae不支持事务?
If following operation throws an exception,we can not rollback the first transaction, because it is already committed. What I can think of right now is, you can manually delete it. but it is not the genuine solution. Why don't you create owned relation between these two table? Tell me about your thoughts? Regards, Kartik 2010/12/16 Liang Ding dl88...@gmail.com Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] gae不支持事务?
谢谢大家,只能开启两个事务来解决啦。 在 2010年12月16日 下午6:11,kartik kudada kartik.kud...@gmail.com写道: If following operation throws an exception,we can not rollback the first transaction, because it is already committed. What I can think of right now is, you can manually delete it. but it is not the genuine solution. Why don't you create owned relation between these two table? Tell me about your thoughts? Regards, Kartik 2010/12/16 Liang Ding dl88...@gmail.com Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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
Re: [appengine-java] gae不支持事务?
不能rollback,但可以roll forward。 这篇可能对你有帮助: http://www.keakon.net/article/1843 -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ 2010/12/16 EtuO nbaer...@gmail.com 谢谢大家,只能开启两个事务来解决啦。 在 2010年12月16日 下午6:11,kartik kudada kartik.kud...@gmail.com写道: If following operation throws an exception,we can not rollback the first transaction, because it is already committed. What I can think of right now is, you can manually delete it. but it is not the genuine solution. Why don't you create owned relation between these two table? Tell me about your thoughts? Regards, Kartik 2010/12/16 Liang Ding dl88...@gmail.com Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at
Re: [appengine-java] gae不支持事务?
As article on http://www.keakon.net/article/1843 suggests , you can create task queue on successful completion of 1st transaction , same can be done when exception occurred in 1st transaction. I did not try this solution but it seems like good option. By this way we can achieve atomicity like in banking example . 2010/12/16 风笑雪 kea...@gmail.com 不能rollback,但可以roll forward。 这篇可能对你有帮助: http://www.keakon.net/article/1843 -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ 2010/12/16 EtuO nbaer...@gmail.com 谢谢大家,只能开启两个事务来解决啦。 在 2010年12月16日 下午6:11,kartik kudada kartik.kud...@gmail.com写道: If following operation throws an exception,we can not rollback the first transaction, because it is already committed. What I can think of right now is, you can manually delete it. but it is not the genuine solution. Why don't you create owned relation between these two table? Tell me about your thoughts? Regards, Kartik 2010/12/16 Liang Ding dl88...@gmail.com Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message
[appengine-java] Cannot resize a .tif image using the ImagesService on the dev app server
I refer to the related post entitled WARNING: No image reader found for format ico. An ImageIO plugin must be installed to use this format with the DevAppServer. dated 7th June 2009 at: http://groups.google.com/group/google-appengine-java/browse_thread/thread/7a44035eea5b1f4d/5fcd8b0a21f41db3?lnk=gstq=WARNING%3A+No+image+reader+found+for+format+%22ico%22.+An+ImageIO+plugin+must+be+installed+to+use+this+format+with+the+DevAppServer#5fcd8b0a21f41db3 where a query about the dev app server warnings below was raised, but after Jason of Google asked a supplementary question he received no response from the original poster. My web app uploads an image file from a web browser user and then, if the file is larger than around 900kB I use the GAE/J ImagesService to reduce the image data size to this level. An extract of my relevant code is: byte[] baImageSource = [...];// Data from an uploaded image file int nNewWidth = [...]; // Calculate correct shrinkage int nNewHeight = [...]; // Calculate correct shrinkage Image imgSource = ImagesServiceFactory.makeImage(baImageSource); ImagesService isService = ImagesServiceFactory.getImagesService(); Transform tfrm = ImagesServiceFactory.makeResize(nNewWidth, nNewHeight); Image imgNew = isService.applyTransform(tfrm, imgSource); byte[] baResult = imgNew.getImageData();// The shrunken image data When I run my ImagesService code on my GAE/J development server ((latest) version 1.4.0) I get the two warnings: 16-Dec-2010 10:40:18 com.google.appengine.api.images.dev.LocalImagesService init WARNING: No image reader found for format ico. An ImageIO plugin must be installed to use this format with the DevAppServer. 16-Dec-2010 10:40:18 com.google.appengine.api.images.dev.LocalImagesService init WARNING: No image reader found for format tif. An ImageIO plugin must be installed to use this format with the DevAppServer. My code runs well for shrinking .jpg files, but when I try this for a .tif file of size 6.11 MB I get an IllegalArgumentException on my call to ImagesService.applyTransform(...). (I set out a stack trace at the foot of this post.) I have a few questions for those interested: · How do I get a tif ImageIO plug-in for the ImagesService ()? · Should this plug-in be supplied with the GAE/J SDK in future releases? · Does this issue apply to the dev app server only (I have not yet deployed this to production)? Cheers, Ian Marshall STACK TRACE WHEN TRANSFORMING A .TIF FILE - java.lang.IllegalArgumentException: Failed to read image at com.google.appengine.api.images.ImagesServiceImpl.convertApplicationException(ImagesServiceImpl.java: 301) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 73) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 50) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 39) at [my package path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java: 311) at [my package path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java: 236) at [my package path].wicket.stuff.MyPage$5.onSubmit(MyPage.java:1348) at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java: 1561) at org.apache.wicket.markup.html.form.Form.process(Form.java:958) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java: 920) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java: 100) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java: 182) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java: 73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java: 92) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java: 1250) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: 486) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java: 319) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at
Re: [appengine-java] gae不支持事务?
The important thing is can't rollback while error occurred. 2010/12/16 EtuO nbaer...@gmail.com 谢谢大家,只能开启两个事务来解决啦。 在 2010年12月16日 下午6:11,kartik kudada kartik.kud...@gmail.com写道: If following operation throws an exception,we can not rollback the first transaction, because it is already committed. What I can think of right now is, you can manually delete it. but it is not the genuine solution. Why don't you create owned relation between these two table? Tell me about your thoughts? Regards, Kartik 2010/12/16 Liang Ding dl88...@gmail.com Hi, kartik. It works, but how can I rollback the 'first transaction' if the following operations throws an exception? 2010/12/16 kartik kudada kartik.kud...@gmail.com You can not operate on two entities in single transaction unless both are entity groups. First delete CityNum in one transaction and then delete ScheduleProcess in different transaction, 2010/12/16 EtuO nbaer...@gmail.com Caused by: java.lang.IllegalArgumentException: can't operate on multiple entity groups in a single transaction. found both Element { type: CityNum name: 013001 } and Element { type: ScheduleProcess name: 013001 } at com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: 36) at com.google.appengine.api.datastore.DatastoreApiHelper $1.convertException(DatastoreApiHelper.java:98) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 69) at com.google.appengine.api.datastore.FutureHelper $CumulativeAggregateFuture.get(FutureHelper.java:136) at com.google.appengine.api.datastore.FutureHelper $TxnAwareFuture.get(FutureHelper.java:213) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java: 67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java: 71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java: 58) at com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java: 55) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java: 64) ... 86 more 实现类代码: /** * @see org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[]) */ public void nestTrans(Object... objects) { String id = (String) objects[0]; CityNum cn = cityNumDao.get(id); ScheduleProcess sp = scheduleDao.get(id); cityNumDao.delete(cn); scheduleDao.delete(sp); logger.info(id[ + id + ]对应的城市和任务删除完毕); } 接口代码: /** * 事务性操作接口 * @author mo.duanm * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午 05:22:23 mo.duanm Exp $ */ public interface TransactionOperation { /** * 嵌套事务 * @param objects */ @Transactional public void nestTrans(Object... objects); -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- My Blog: http://blog.csdn.net/DL88250 Open Source, Open Mind, Open Sight, Open Future! -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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
[appengine-java] Re: storing unowned objects(one to many) in datastore
Why do you want to store both in the same transaction? To me, it seems transactions are used to guarantee two things happen. eg. you don't want to delete one record without making sure the a log of deleted records is updated. Transactions are also used to prevent collisions, eg. I don't want two users adding to a counter at the same time and one of their adds is lost. It seems neither of these is likely. It is unlikely that a new Person will be created and before the system can save their mobile, some other user will try and edit it. It is also unlikely that either of these will fail and not fail gracefully. If you try and add a user in one transaction then try to add a mobile in a second transaction either both will succeed or fail. Same outcome as a single transaction. Or one of the two fails and you simply try it again or delete the one that didn't fail and inform the user. If you really need a single transaction you can put both items in the same entity group using a key builder. You can see an example here under Creating Entities With Entity Groups http://code.google.com/appengine/docs/java/datastore/transactions.html Dec 15, 10:16 pm, Didier Durand durand.did...@gmail.com wrote: Hi, If they don't belong to the same entity group, you will raise an exception by trying to store 2 objects in a single transaction. 2 ways to handle that: a) you make Mobile belong to same entity group as Person so you'll be able to store both in a single transaction. I understand in your question that you can't go this way. b) you store one let's say Person in first transaction and during this transaction, you start a task as part of the transaction: You can enqueue a task as part of a datastore transaction, such that the task is only enqueued—and guaranteed to be enqueued—if the transaction is committed successfully. Tasks added within a transaction are considered to be a part of it and have the same level of isolation and consistency. as said inhttp://code.google.com/appengine/docs/java/taskqueue/overview.html#Ta... Hope it helps didier On Dec 15, 8:26 am, kartik kudada kartik.kud...@gmail.com wrote: Can we store two unowned objects(one to many) in datastore in a single transaction. For example - We have public class Person { @PrimaryKey �...@persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String name; @Persistent private ListKey mobileIds = new ArrayListKey(); // //. } public class Mobile { �...@primarykey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key mobileId; // ... // } I want to store these two objects in datastore in single transaction so that relation can be made in between both objects. Tell me if any other solution is there ? -- 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-j...@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: Files Limitation 3000
Hi Ravi, I'm putting all the generated GWT files in a zip file and I'm serving them with a specific servlet. It works fine and even allows me to do some GWT versioning : /gwt module = servlet/version/path to gwt file Remember that, if you change the default GWT module path (like adding a version number in it), you need to override the RemoteServiceServlet#doGetSerializationPolicy method. Francois On 12 déc, 22:55, Ravi ravisan...@gmail.com wrote: Hello, After adding ExtJS GWT, the files count went to about 3500 after compilation. I am unable to deploy the project as GAE has a limit of 3000. I can put the java classes in JAR file, but the what can I do about the static files ? How can I overcome this problem ? Thanks, Ravi -- 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-j...@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: datanucleus-appengine
started a new app. For me, Objectify made Java persistence coding fun again, and words like persistence manager lifecycle and detached instance are blissfully draining out of my vocabulary :-) you may have a point here ;-) -g. -- 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-j...@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] Channel API problem
I have been trying to use the newly launched Channel API on SDK 1.4 in my project. I try to push a message to client which actually pops up a notification but I am getting the ChannelFailureException. Here is the code: TestServlet Where the token is created: public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter out = resp.getWriter(); resp.setContentType(text/html); // Creating the userID on the basis of the session id String userId = req.getSession().getId(); // Starting the ChannelService of the channel API ChannelService channelService = ChannelServiceFactory .getChannelService(); // Creating the client token String token = channelService.createChannel(userId); req.getSession().setAttribute(token, token); out.println(html); out.println(head); out.println(titleThis is a servlet which will be used to try the new Channel API/title); out.println(/head); out.println(body); out.println(a href=\/ChannelAPI.jsp\Click Here/a to recieve a notification on the next page using channel API); out.println(/body); } } Channel API.jsp script channel = new goog.appengine.Channel('%= userId%'); socket = channel.open(); //socket.onopen = onOpened; socket.onmessage = onMessage; socket.onerror = onError; socket.onclose = onClose; onMessage = function (message){ $.pnotify({ pnotify_title: 'Regular Notice', pnotify_text: message.data }); }; onError = function (description,code){ $.pnotify({ pnotify_title: 'Uh Oh!', pnotify_text: 'something went wrong', pnotify_type: 'error', pnotify_hide: false }); }; /script Send Message servlet: public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String userId = (String) req.getSession().getAttribute(token); ChannelService channelService = ChannelServiceFactory.getChannelService(); channelService.sendMessage(new ChannelMessage(userId, This is the message that has been sent)); } } The stack trace I got Uncaught exception from servlet com.google.appengine.api.channel.ChannelFailureException: An unexpected error occurred. at com.google.appengine.api.channel.ChannelServiceImpl.sendMessage(ChannelServiceImpl.java: 59) Can you tell me if there is something wrong with the code or with the Channel API? Thanks in advance, Tarun -- 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-j...@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] Mapper Blobstore bytes read limit
i know the 1.4.0 version was released, the limit was raised to 32mb. http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html so i wanna upload my dem data . the data dem.bil is under the /war/dem.bil directory.and these are my codes to fetch the data dem.bil that is 3M: try{ URLConnection a = url.openConnection(); InputStream b = a.getInputStream(); int len = a.getContentLength(); if (len 0) { return null; } //System.out.println(Total: +len); byte[] c = new byte[len]; b.read(c,0,len); return c; }catch (Exception e) { e.printStackTrace(); return null; } } but when it goes to InputStream b = a.getInputStream(); it's debug is com.google.appengine.api.urlfetch.ResponseTooLargeException: The response from url localhost:/dem.bil was too large. .so can you can tell me why?or some wrong with my codes? thanks. xiu Cyrille Vincey wrote: I've been testing Ikai's bulkload mapper (see url below) with a pretty big csv file (200 Mb). It works great, and I encourage most of you to consider implementing this for entity uploads. Yet, I do face one last issue with an unexpected quota : blobstore bytes read. This quota cannot be tuned via the billing settings, and it's not clear whether it limits the speed of my process or not when it's reached. See ? Yep, it's a lot of bytes readŠ Could someone confirm that the blob csv file is *NOT* fully fetched each time the mapper iterates on a new line ? (ikai's post) http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-imp ort/ -- 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-j...@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: Synchronized reads/writes on a memcache variable
I agree. You should seriously consider the method that you are using. The MemCacheService is a component designed to increase (mostly read) access to the Datastore. Users of this service should not rely upon the presence of data in the MemCache, but should use the Datastore and its transaction support. If you really want to use the MemCache you can apply an optimistic locking approach by using with versioned data - use a counter for version - get current version - get List using Key derived from current Version - modify the List - increment counter for Version and get value (atomic operation) - verify that new version is 1 higher then originally retrieved one - in case it is, store modified list under key derived form new version - in case it isn't, get the list for the real previous version and store it under the latest version key. The system should now be in consistent state again You can apply different strategies for recovery, either just report ConcurrentModificationException or retry the whole operation -- 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-j...@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: DEPLOYMENT FAILING AGAIN
We've been experiencing issues with the precompilation service that we're trying to resolve. It's been causing some deployment failures, which generally result in a 503 response code when you push your application. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Dec 15, 2010 at 3:31 AM, Simon qila...@gmail.com wrote: Hi, I don't know why the pre-compilation has to be turned off - as far as I understand it, this activity occurs on the Google servers and it's there that the problem occurs. In one of the other deployment issue threads, Ikai mentioned that you can get around this issue by turning the pre-compilation off, so I'm just repeating that information! On Dec 14, 10:25 pm, J Handal jhand...@gmail.com wrote: Simon I have exactly the same problem.I upgraded de JRE and JDK to version 6 build 23(Last one) Why the jsp file don't compile? If you get the solution please let me know. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] Multiple Async get vs one Sync batch get?
You're talking about the datastore API? Underneath the hood, synchronous gets just make asynchronous calls and block on Future.get() anyway. Making a single synchronous batch get would translate to a single asynchronous RPC with multiple keys vs. multiple asynchronous get RPCs. I suspect the single batch call will perform better from a CPU cost/quota perspective, but I'd defer to AppStats benchmarks as the authoritative answer. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Dec 15, 2010 at 3:38 AM, Gal Dolber gal.dol...@gmail.com wrote: Should I expect the similar performance? or the batch will always be better? -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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] com.google.appengine.api.datastore.Text does not preserve formatting
Hi I am using Java + Jdo to store data. I am able to store Text. The text I get loses all its formatting ( new lines spaces are all converted to single space ) is their any way to prevent the same ? I have read both the community and official FAQ and searched this group. Please help -- 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-j...@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] Multiple Async get vs one Sync batch get?
Yes, I am talking about datastore api. I made some isolated tests and the batch always wins (no by so much). But in my app, when I break the batch into multiple async gets, I can start processing each async get result (and doing another api calls) before... and it seems to be perform better. I'll keep doing tests and post if find anything interesting. Thanks! On Thu, Dec 16, 2010 at 2:42 PM, Ikai Lan (Google) ikai.l+gro...@google.comikai.l%2bgro...@google.com wrote: You're talking about the datastore API? Underneath the hood, synchronous gets just make asynchronous calls and block on Future.get() anyway. Making a single synchronous batch get would translate to a single asynchronous RPC with multiple keys vs. multiple asynchronous get RPCs. I suspect the single batch call will perform better from a CPU cost/quota perspective, but I'd defer to AppStats benchmarks as the authoritative answer. -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Dec 15, 2010 at 3:38 AM, Gal Dolber gal.dol...@gmail.com wrote: Should I expect the similar performance? or the batch will always be better? -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Guit: Elegant, beautiful, modular and *production ready* gwt applications. http://code.google.com/p/guit/ -- 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-j...@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: Newly deployed app doesn’t se em always reflected on the server.
I think for sure there's some sort of delay of deployment sometimes. It does not always happen. You don't have to deploy your app again, just have to wait long enough (time frame unpredictable) for your new deployment instance get going. Even though in the console says the app is deployed and running, it is not. This unpredictability of deployment is really some serious issue. p.s. the version number is changed, it is set to default, and it's definitely no cache. On Oct 30, 10:58 am, dilbert dilbert.elbo...@gmail.com wrote: It is not about a change of version and it is not just about hitting F5. On Oct 30, 9:59 am, andrew aute...@gmail.com wrote: As mentioned, IF you are changing version number you will need to set latest as default. Check versions page in dashboard. I have seen some slight delays after default is changed for switchover to new version to occur. A minute maybe. Also, on browser, while on your app page, hit Control F5 to force refresh. -- 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-j...@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] 500 Internal Server Error:Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?
I am getting deployed error gaian...this is happening every other day and as big productivity sink...anyone knows what is going on and when this will be resolved? Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=Xversion=5; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF= http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html See the deployment console for more details Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=Xversion=5; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF= http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html -- 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-j...@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: Newly deployed app doesn’ t seem always reflected on the server.
Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=Xversion=5; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF= http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html you are right deployment has become very unpredictable..I started getting this error below now.. == See the deployment console for more details Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/clonefiles?app_id=Xversion=5; 500 Internal Server Error htmlhead meta http-equiv=content-type content=text/html;charset=utf-8 title500 Server Error/title /head body text=#00 bgcolor=#ff h1Error: Server Error/h1 h2The server encountered an error and could not complete your request.pIf the problem persists, please A HREF= http://code.google.com/appengine/community.html;report/A your problem and mention this error message and the query that caused it./h2 h2/h2 /body/html On Thu, Dec 16, 2010 at 5:21 PM, nnhobbit nnclou...@gmail.com wrote: I think for sure there's some sort of delay of deployment sometimes. It does not always happen. You don't have to deploy your app again, just have to wait long enough (time frame unpredictable) for your new deployment instance get going. Even though in the console says the app is deployed and running, it is not. This unpredictability of deployment is really some serious issue. p.s. the version number is changed, it is set to default, and it's definitely no cache. On Oct 30, 10:58 am, dilbert dilbert.elbo...@gmail.com wrote: It is not about a change of version and it is not just about hitting F5. On Oct 30, 9:59 am, andrew aute...@gmail.com wrote: As mentioned, IF you are changing version number you will need to set latest as default. Check versions page in dashboard. I have seen some slight delays after default is changed for switchover to new version to occur. A minute maybe. Also, on browser, while on your app page, hit Control F5 to force refresh. -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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: Not sending email with Javamail and no error
I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.appspot.kshare.control; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.UnsupportedEncodingException; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * @author malacma */ public class EmailControlUtil { public static boolean sendMail(String email, String destinatario, String titulo, String texto, Object anexo) throws UnsupportedEncodingException { Session session = Session.getDefaultInstance(null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; } } Any ideia? Need help hurry :( -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@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: Not sending email with Javamail and no error
Does the email address used in your From have administrator privileges for your app? msg.setFrom(new InternetAddress(user.getEmail())); I read somewhere that system could only send email from registered email addresses. On Thu, Dec 16, 2010 at 7:13 PM, Moretto mala...@gmail.com wrote: I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.appspot.kshare.control; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.UnsupportedEncodingException; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * @author malacma */ public class EmailControlUtil { public static boolean sendMail(String email, String destinatario, String titulo, String texto, Object anexo) throws UnsupportedEncodingException { Session session = Session.getDefaultInstance(null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; } } Any ideia? Need help hurry :( -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@googlegroups.com. To unsubscribe from this group,
Re: [appengine-java] Re: Not sending email with Javamail and no error
I now recall the conditions... http://code.google.com/appengine/docs/java/mail/overview.html App Engine applications can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. On Thu, Dec 16, 2010 at 7:49 PM, A. Stevko andy.ste...@gmail.com wrote: Does the email address used in your From have administrator privileges for your app? msg.setFrom(new InternetAddress(user.getEmail())); I read somewhere that system could only send email from registered email addresses. On Thu, Dec 16, 2010 at 7:13 PM, Moretto mala...@gmail.com wrote: I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.appspot.kshare.control; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.UnsupportedEncodingException; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * @author malacma */ public class EmailControlUtil { public static boolean sendMail(String email, String destinatario, String titulo, String texto, Object anexo) throws UnsupportedEncodingException { Session session = Session.getDefaultInstance(null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; } } Any ideia? Need help hurry :( -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more
[appengine-java] Re: Not sending email with Javamail and no error
Still no messagesand no errors Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); // UserService userService = UserServiceFactory.getUserService(); //User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); //msg.setFrom(new InternetAddress(user.getEmail())); msg.setFrom(new InternetAddress(mala...@gmail.com, [k- share])); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 17, 2:03 am, Moretto mala...@gmail.com wrote: can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); These two lines of code retrieve the current google user logged in. i'll change it and test. On Dec 17, 1:52 am, A. Stevko andy.ste...@gmail.com wrote: I now recall the conditions...http://code.google.com/appengine/docs/java/mail/overview.html App Engine applications can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. On Thu, Dec 16, 2010 at 7:49 PM, A. Stevko andy.ste...@gmail.com wrote: Does the email address used in your From have administrator privileges for your app? msg.setFrom(new InternetAddress(user.getEmail())); I read somewhere that system could only send email from registered email addresses. On Thu, Dec 16, 2010 at 7:13 PM, Moretto mala...@gmail.com wrote: I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.appspot.kshare.control; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.UnsupportedEncodingException; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * @author malacma */ public class EmailControlUtil { public static boolean sendMail(String email, String destinatario, String titulo, String texto, Object anexo) throws UnsupportedEncodingException { Session session = Session.getDefaultInstance(null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new
Re: [appengine-java] Re: Not sending email with Javamail and no error
I have much the same code although I set more headers. How about adding yourself as a BCC and/or CC? Also, do you see any utilization in your Quota details - Mail API Calls and Recipients Emailed ? On Thu, Dec 16, 2010 at 8:12 PM, Moretto mala...@gmail.com wrote: Still no messagesand no errors Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); // UserService userService = UserServiceFactory.getUserService(); //User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); //msg.setFrom(new InternetAddress(user.getEmail())); msg.setFrom(new InternetAddress(mala...@gmail.com, [k- share])); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 17, 2:03 am, Moretto mala...@gmail.com wrote: can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); These two lines of code retrieve the current google user logged in. i'll change it and test. On Dec 17, 1:52 am, A. Stevko andy.ste...@gmail.com wrote: I now recall the conditions... http://code.google.com/appengine/docs/java/mail/overview.html App Engine applications can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. On Thu, Dec 16, 2010 at 7:49 PM, A. Stevko andy.ste...@gmail.com wrote: Does the email address used in your From have administrator privileges for your app? msg.setFrom(new InternetAddress(user.getEmail())); I read somewhere that system could only send email from registered email addresses. On Thu, Dec 16, 2010 at 7:13 PM, Moretto mala...@gmail.com wrote: I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.appspot.kshare.control; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; import java.io.UnsupportedEncodingException; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * @author malacma */ public class EmailControlUtil { public static
Re: [appengine-java] Re: storing unowned objects(one to many) in datastore
Hi, I can not create entity group because both are both classes can exists independently, It can be unowned relation between them. I want both should be stored in datastore or none of these(Atomic behavior ) . If one entity is not stored other entity must not store in datastore . Didier's suggestion looks good , but i did not try . * * On Thu, Dec 16, 2010 at 8:35 PM, WillSpecht willspe...@gmail.com wrote: Why do you want to store both in the same transaction? To me, it seems transactions are used to guarantee two things happen. eg. you don't want to delete one record without making sure the a log of deleted records is updated. Transactions are also used to prevent collisions, eg. I don't want two users adding to a counter at the same time and one of their adds is lost. It seems neither of these is likely. It is unlikely that a new Person will be created and before the system can save their mobile, some other user will try and edit it. It is also unlikely that either of these will fail and not fail gracefully. If you try and add a user in one transaction then try to add a mobile in a second transaction either both will succeed or fail. Same outcome as a single transaction. Or one of the two fails and you simply try it again or delete the one that didn't fail and inform the user. If you really need a single transaction you can put both items in the same entity group using a key builder. You can see an example here under Creating Entities With Entity Groups http://code.google.com/appengine/docs/java/datastore/transactions.html Dec 15, 10:16 pm, Didier Durand durand.did...@gmail.com wrote: Hi, If they don't belong to the same entity group, you will raise an exception by trying to store 2 objects in a single transaction. 2 ways to handle that: a) you make Mobile belong to same entity group as Person so you'll be able to store both in a single transaction. I understand in your question that you can't go this way. b) you store one let's say Person in first transaction and during this transaction, you start a task as part of the transaction: You can enqueue a task as part of a datastore transaction, such that the task is only enqueued—and guaranteed to be enqueued—if the transaction is committed successfully. Tasks added within a transaction are considered to be a part of it and have the same level of isolation and consistency. as said inhttp:// code.google.com/appengine/docs/java/taskqueue/overview.html#Ta... Hope it helps didier On Dec 15, 8:26 am, kartik kudada kartik.kud...@gmail.com wrote: Can we store two unowned objects(one to many) in datastore in a single transaction. For example - We have public class Person { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String name; @Persistent private ListKey mobileIds = new ArrayListKey(); // //. } public class Mobile { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key mobileId; // ... // } I want to store these two objects in datastore in single transaction so that relation can be made in between both objects. Tell me if any other solution is there ? -- 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-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@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-j...@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: Not sending email with Javamail and no error
As you see the first time i've deployed my app, 2 email were sent. It appeared at my cota details. Now Could you post your headers details? Mail API Calls 0% 0 of 7,000 Okay Recipients Emailed 0% 0 of 2,000 Okay Admins Emailed 0% 0 of 5,000 Okay Message Body Data Sent 0% 0.00 of 0.06 GBytes Okay Attachments Sent 0% 0 of 2,000 Okay Attachment Data Sent 0% 0.00 of 0.10 GBytes Okay On Dec 17, 2:21 am, A. Stevko andy.ste...@gmail.com wrote: I have much the same code although I set more headers. How about adding yourself as a BCC and/or CC? Also, do you see any utilization in your Quota details - Mail API Calls and Recipients Emailed ? On Thu, Dec 16, 2010 at 8:12 PM, Moretto mala...@gmail.com wrote: Still no messagesand no errors Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); // UserService userService = UserServiceFactory.getUserService(); // User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); //msg.setFrom(new InternetAddress(user.getEmail())); msg.setFrom(new InternetAddress(mala...@gmail.com, [k- share])); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 17, 2:03 am, Moretto mala...@gmail.com wrote: can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); These two lines of code retrieve the current google user logged in. i'll change it and test. On Dec 17, 1:52 am, A. Stevko andy.ste...@gmail.com wrote: I now recall the conditions... http://code.google.com/appengine/docs/java/mail/overview.html App Engine applications can send email messages on behalf of the app's administrators, and on behalf of users with Google Accounts. On Thu, Dec 16, 2010 at 7:49 PM, A. Stevko andy.ste...@gmail.com wrote: Does the email address used in your From have administrator privileges for your app? msg.setFrom(new InternetAddress(user.getEmail())); I read somewhere that system could only send email from registered email addresses. On Thu, Dec 16, 2010 at 7:13 PM, Moretto mala...@gmail.com wrote: I've changed the code to initialize the Session object passing properties as a parameter. Nothing changed. Still does not send emails and doesnt throws any exception. Ideias?? Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); try { Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(user.getEmail())); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, destinatario)); msg.setSubject(titulo); msg.setText(texto); Transport.send(msg); } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } catch (Exception e) { e.printStackTrace(); return false; } return true; On Dec 14, 12:11 pm, Amit Pandey amit.s...@gmail.com wrote: Just try creating session object using property object. May be it can help(Not sure). Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); On Tue, Dec 14, 2010 at 9:21 AM, Moretto mala...@gmail.com wrote: Hi, I'm using JAVAMAIL to send mail from my GAE app located at http://k-share.appspot.com/. I can't send email and no error occurs. The first time i've deployed my app, it send 2 email then no more. Take a look at the source code below: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package
[appengine-java] Re: Cannot resize a .tif image using the ImagesService on the dev app server
No ideas, anyone? On Dec 16, 11:59 am, Ian Marshall ianmarshall...@gmail.com wrote: I refer to the related post entitled WARNING: No image reader found for format ico. An ImageIO plugin must be installed to use this format with the DevAppServer. dated 7th June 2009 at: http://groups.google.com/group/google-appengine-java/browse_thread/th... where a query about the dev app server warnings below was raised, but after Jason of Google asked a supplementary question he received no response from the original poster. My web app uploads an image file from a web browser user and then, if the file is larger than around 900kB I use the GAE/J ImagesService to reduce the image data size to this level. An extract of my relevant code is: byte[] baImageSource = [...]; // Data from an uploaded image file int nNewWidth = [...]; // Calculate correct shrinkage int nNewHeight = [...]; // Calculate correct shrinkage Image imgSource = ImagesServiceFactory.makeImage(baImageSource); ImagesService isService = ImagesServiceFactory.getImagesService(); Transform tfrm = ImagesServiceFactory.makeResize(nNewWidth, nNewHeight); Image imgNew = isService.applyTransform(tfrm, imgSource); byte[] baResult = imgNew.getImageData(); // The shrunken image data When I run my ImagesService code on my GAE/J development server ((latest) version 1.4.0) I get the two warnings: 16-Dec-2010 10:40:18 com.google.appengine.api.images.dev.LocalImagesService init WARNING: No image reader found for format ico. An ImageIO plugin must be installed to use this format with the DevAppServer. 16-Dec-2010 10:40:18 com.google.appengine.api.images.dev.LocalImagesService init WARNING: No image reader found for format tif. An ImageIO plugin must be installed to use this format with the DevAppServer. My code runs well for shrinking .jpg files, but when I try this for a .tif file of size 6.11 MB I get an IllegalArgumentException on my call to ImagesService.applyTransform(...). (I set out a stack trace at the foot of this post.) I have a few questions for those interested: · How do I get a tif ImageIO plug-in for the ImagesService ()? · Should this plug-in be supplied with the GAE/J SDK in future releases? · Does this issue apply to the dev app server only (I have not yet deployed this to production)? Cheers, Ian Marshall STACK TRACE WHEN TRANSFORMING A .TIF FILE - java.lang.IllegalArgumentException: Failed to read image at com.google.appengine.api.images.ImagesServiceImpl.convertApplicationException(ImagesServiceImpl.java: 301) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 73) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 50) at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java: 39) at [my package path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java: 311) at [my package path].business.MiscellaneousBusiness.compressImage(MiscellaneousBusiness.java: 236) at [my package path].wicket.stuff.MyPage$5.onSubmit(MyPage.java:1348) at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java: 1561) at org.apache.wicket.markup.html.form.Form.process(Form.java:958) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java: 920) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java: 100) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java: 182) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java: 73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java: 92) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java: 1250) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java: 486) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java: 319) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at
[google-appengine] This request used a high amount of CPU and may soon exceed its quota - 2010/2011
Hi, I am using google app engine from beginning. From the time when there was high cpu quota tickets. I understand difference between request time, cpu and api time. In one of my request I am putting two objects in one batch operation to datastore (from same entity group in transaction, although this is irrelevant for this discussion). I noticed in log these request/cpu/api times: 12-16 02:03AM 35.944 200 198ms 1847cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.813 200 128ms 1828cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.712 200 107ms 1829cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.586 200 145ms 1865cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.524 200 182ms 1810cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.387 200 203ms 1938cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.438 200 151ms 1791cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.298 200 171ms 1829cpu_ms 1700api_cpu_ms I would probably ignore there lines if they are not in red color with triangle sign to warn me about 'high amount of cpu usage'. Reason for this 'high' api usage is index creation. Cost for first object is around 1200 api_cpu_ms and for second 500 api_cpu_ms (some changes and appstat revealed data). First object has 8 indexes where first attribute is list of strings (from 5 to 11 members, this usage is for 11 members). This 8 indexes are for ability to sort on 4 columns (ascending and descending). If I leave this list empty, api_cpu_ms is around 330 ms for first object. Of course I must not leave list empty if I want this user interface feature. I understand everything about this 'issue' and I am fine with 'high' cpu usage, because my request time is around 160 ms, top 200 ms. Question: Is Google App Engine fine with my 'high' cpu usage ? Will I be penalized in any way (new instances, throtle, ...) because of this 'high abount of CPU' ? If GAE is fine and I will not be penalized why don't you change this 'coloring' schema to use only request time or maybe request time with (cpu time - api time) ?! This red color will make me crazy ;) -- 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-appeng...@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] This request used a high amount of CPU and may soon exceed its quota - 2010/2011
It seems every request that used more than 1000 cpu ms will be consider as high amount of cpu usage. -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ On Thu, Dec 16, 2010 at 6:38 PM, Matija matija.jerko...@gmail.com wrote: Hi, I am using google app engine from beginning. From the time when there was high cpu quota tickets. I understand difference between request time, cpu and api time. In one of my request I am putting two objects in one batch operation to datastore (from same entity group in transaction, although this is irrelevant for this discussion). I noticed in log these request/cpu/api times: 12-16 02:03AM 35.944 200 198ms 1847cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.813 200 128ms 1828cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.712 200 107ms 1829cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.586 200 145ms 1865cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.524 200 182ms 1810cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.387 200 203ms 1938cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.438 200 151ms 1791cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.298 200 171ms 1829cpu_ms 1700api_cpu_ms I would probably ignore there lines if they are not in red color with triangle sign to warn me about 'high amount of cpu usage'. Reason for this 'high' api usage is index creation. Cost for first object is around 1200 api_cpu_ms and for second 500 api_cpu_ms (some changes and appstat revealed data). First object has 8 indexes where first attribute is list of strings (from 5 to 11 members, this usage is for 11 members). This 8 indexes are for ability to sort on 4 columns (ascending and descending). If I leave this list empty, api_cpu_ms is around 330 ms for first object. Of course I must not leave list empty if I want this user interface feature. I understand everything about this 'issue' and I am fine with 'high' cpu usage, because my request time is around 160 ms, top 200 ms. Question: Is Google App Engine fine with my 'high' cpu usage ? Will I be penalized in any way (new instances, throtle, ...) because of this 'high abount of CPU' ? If GAE is fine and I will not be penalized why don't you change this 'coloring' schema to use only request time or maybe request time with (cpu time - api time) ?! This red color will make me crazy ;) -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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] how can i write Arabic in app engine
I suggest you always use UTF-8, not windows-1256. However, if you insist on using windows-1256, you should encode your unicode output to str: self.response.out.write(u'some unicode string'.*encode*('windows-1256')) or: self.response.out.write('some windows-1256 string') # don't decode it -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ -- 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-appeng...@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 apps wildcard subdomains at godaddy
Just in case, take a look at nick's answer here: http://stackoverflow.com/questions/838078/working-with-subdomain-in-google-app-engine On Dec 14, 7:15 am, Roberto Saccon rsac...@gmail.com wrote: google apps lets me define wildcard subdomains e.g.: http://*.mydomain.com but when saving the wildcard entry, a message from Google shows up that I also need do adjust at godaddy the CNAME '*' to ghs.google.com So I try to do that at the godaddy DNS panel, but here is the end of the game, godaddy says that a wildcard CNAME is not allowed. So how have others solved this ? Switched to another DNS provider ? Which one ? Or did I just so something wrong ? -- Roberto -- 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-appeng...@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: Using closure with channel API
Bump. Can we please have this? On Dec 10, 1:59 am, Mark Jen mark...@gmail.com wrote: Hi, Has anyone been using the closure library/compiler with GAE channel API? Can we have the uncompiled file(s) forhttp://talkgadget.google.com/talkgadget/channel.jsso they can be compiled together with other JS code using closure compiler? And/or is it possible to use goog.net.BrowserChannel or other closure library classes to communicate with the GAE channel API backend? Thanks! Mark -- 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-appeng...@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] Forcing bulkloader to create missing properties as None
How can I force the [csv] bulkloader to create entities with 'None' property values if the relevent bulk data field is empty, as opposed to assuming the entity model property is missing ? I've tried - using 'import_transform: transform.none_if_empty(str)' in bulkloader.yaml - using 'db.StringProperty(default=None)' in the model definition Neither of which seems to work; what I find is - empty fields appear as blanks in the dev_appserver datastore viewer [if I put a model to the datastore with an explicity 'None' field via the interactive console, it appears as 'None'] - I can't query the empty fields using Query.filter(field = , None) [the filter just gets ignored] Thank you. -- 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-appeng...@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] Forcing bulkloader to create missing properties as None
I suggest you to use post_import_function and post_export_function. They gives you everything you need to manipulate entities. Also check out these demos: http://bulkloadersample.appspot.com/ -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ On Thu, Dec 16, 2010 at 9:47 PM, Justin justin.worr...@gmail.com wrote: How can I force the [csv] bulkloader to create entities with 'None' property values if the relevent bulk data field is empty, as opposed to assuming the entity model property is missing ? I've tried - using 'import_transform: transform.none_if_empty(str)' in bulkloader.yaml - using 'db.StringProperty(default=None)' in the model definition Neither of which seems to work; what I find is - empty fields appear as blanks in the dev_appserver datastore viewer [if I put a model to the datastore with an explicity 'None' field via the interactive console, it appears as 'None'] - I can't query the empty fields using Query.filter(field = , None) [the filter just gets ignored] Thank you. -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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] Google App Engine Dashboard API or iPhone app?
Hi, Will there be an API that can expose all details we saw from Google App Engine Dashboard, so that we can do a lot of interesting things with it. Or will there be an iPhone app for Google App Engine Dashboard? As an iOS/GAE developer I'd really love to see the combination. Cheers, Xin http://www.olivida.com/ http://v2ex.appspot.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-appeng...@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] Storing properties dict as db.Model field
What's the approved way of doing this ? I don't want the overhead of creating a separate db model. I don't see a db.DictProperty [equivalent of db.ListProperty]. Right now I use a db.TextProperty, and serialise/deserialise the dict with yaml. I'm guessing this isn't the 'approved' way of doing things. Thank you, -- 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-appeng...@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: Storing properties dict as db.Model field
I think there is no approved way. Which method will depend heavily on what you are sticking in your dict, how big it is etc.. I personally pickle dicts and stick them in a BlobProperty ;-) 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-appeng...@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] Storing properties dict as db.Model field
Hello Justin, You can you refer to jaikuengine: http://code.google.com/p/jaikuengine/source/browse/trunk/common/properties.py?r=153#62 --Sahid On Thu, Dec 16, 2010 at 3:57 PM, Justin justin.worr...@gmail.com wrote: What's the approved way of doing this ? I don't want the overhead of creating a separate db model. I don't see a db.DictProperty [equivalent of db.ListProperty]. Right now I use a db.TextProperty, and serialise/deserialise the dict with yaml. I'm guessing this isn't the 'approved' way of doing things. Thank you, -- 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-appeng...@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-appeng...@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] This request used a high amount of CPU and may soon exceed its quota - 2010/2011
Submit an issue and post the issue number here. Having the high-cpu requests highlighted is nice, but I agree with you about high-latency requests being a bigger concern. Robert On Thu, Dec 16, 2010 at 05:38, Matija matija.jerko...@gmail.com wrote: Hi, I am using google app engine from beginning. From the time when there was high cpu quota tickets. I understand difference between request time, cpu and api time. In one of my request I am putting two objects in one batch operation to datastore (from same entity group in transaction, although this is irrelevant for this discussion). I noticed in log these request/cpu/api times: 12-16 02:03AM 35.944 200 198ms 1847cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.813 200 128ms 1828cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.712 200 107ms 1829cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.586 200 145ms 1865cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.524 200 182ms 1810cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.387 200 203ms 1938cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.438 200 151ms 1791cpu_ms 1700api_cpu_ms 12-16 02:03AM 35.298 200 171ms 1829cpu_ms 1700api_cpu_ms I would probably ignore there lines if they are not in red color with triangle sign to warn me about 'high amount of cpu usage'. Reason for this 'high' api usage is index creation. Cost for first object is around 1200 api_cpu_ms and for second 500 api_cpu_ms (some changes and appstat revealed data). First object has 8 indexes where first attribute is list of strings (from 5 to 11 members, this usage is for 11 members). This 8 indexes are for ability to sort on 4 columns (ascending and descending). If I leave this list empty, api_cpu_ms is around 330 ms for first object. Of course I must not leave list empty if I want this user interface feature. I understand everything about this 'issue' and I am fine with 'high' cpu usage, because my request time is around 160 ms, top 200 ms. Question: Is Google App Engine fine with my 'high' cpu usage ? Will I be penalized in any way (new instances, throtle, ...) because of this 'high abount of CPU' ? If GAE is fine and I will not be penalized why don't you change this 'coloring' schema to use only request time or maybe request time with (cpu time - api time) ?! This red color will make me crazy ;) -- 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-appeng...@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-appeng...@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: deploy restlet onto gae with error
I was able to solve this problem. There were a few steps, but basically it comes down to updating libraries and modifying the web.xml file. Phase 1... 1. Replace the 7 jar files in WEB-INF/lib (org.codehaus.jackson.core.jar, org.codehause.jackson.mapper.jar, org.restlet.ext.gwt.jar, org.restlet.ext.jackson.jar, org.restlet.ext.servlet.jar, org.restlet.ext.xml.jar, org.restlet.jar) with newer versions I used the ones in restlet version 2.1 Milestone 1. (If in Eclipse make sure the build path gets updated to use the new jars). These jars are available in the GAE download. 2. Replace the one jar in the lib directory (org.restlet.jar) with the 2.1 Milestone 1 version. This jar is in the GWT download. Phase 2 1. Change the web.xml file, as it currently refers to a class that no longer exists (GwtShellServletWrapper). Here's the relevant snippet. servlet servlet-nameadapter/servlet-name !-- servlet-classorg.restlet.ext.gwt.GwtShellServletWrapper/ servlet-class -- servlet-classorg.restlet.ext.servlet.ServerServlet/servlet-class init-param param-nameorg.restlet.application/param-name param- valueorg.restlet.example.gae.serialization.server.TestServerApplication/ param-value /init-param /servlet And then it worked. RB On Dec 6, 5:57 pm, dadada ytbr...@gmail.com wrote: this is the console log. ompiling module org.restlet.example.gae.serialization.Serialization Validating newly compiled units [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/logging/impl/ DevModeLoggingFixes.java' [ERROR] Line 58: The method getName() is undefined for the type Logger [ERROR] Line 59: The method getName() is undefined for the type Logger [ERROR] Line 76: The method setUseParentHandlers(boolean) is undefined for the type Logger [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/logging/impl/ LoggerImplRegular.java' [ERROR] Line 73: The method getLevel() is undefined for the type Logger [ERROR] Line 109: The method intValue() is undefined for the type Level [ERROR] Line 109: The method intValue() is undefined for the type Level [ERROR] Line 131: The method log(Level, String) in the type Logger is not applicable for the arguments (LogRecord) [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/user/client/rpc/core/ java/util/logging/Level_CustomFieldSerializer.java' [ERROR] Line 38: The method parse(String) is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/user/client/rpc/core/ java/util/logging/LogRecord_CustomFieldSerializer.java' [ERROR] Line 50: The method parse(String) is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/emul/java/util/logging/ Handler.java' [ERROR] Line 43: The method intValue() is undefined for the type Level [ERROR] Line 43: The method intValue() is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/emul/java/util/logging/ LogManager.java' [ERROR] Line 34: The method setLevel(Level) is undefined for the type LogManager.RootLogger [ERROR] Line 57: The method getName() is undefined for the type Logger [ERROR] Line 77: The method getName() is undefined for the type Logger [ERROR] Line 80: The method getName() is undefined for the type Logger [ERROR] Line 81: The method setParent(Logger) is undefined for the type Logger [ERROR] Errors in 'file:/Users/ytbryan/Documents/workspace/ evogaws/src/org/restlet/example/common/ContactResource.java' [ERROR] Line 3: The import org.restlet.resource cannot be resolved [ERROR] Line 4: The import org.restlet.resource cannot be resolved [ERROR] Line 5: The import org.restlet.resource cannot be resolved [ERROR] Line 12: Get cannot be resolved to a type [ERROR] Line 15: Put cannot be resolved to a type [ERROR] Line 18: Delete cannot be resolved to a type [ERROR] Errors in 'file:/Users/ytbryan/Documents/workspace/evogaws/ src/org/restlet/example/gae/serialization/client/Serialization.java' [ERROR] Internal compiler error java.lang.NoSuchMethodError: com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.setLogOutputSt ream(Ljava/ io/OutputStream;)V at org.restlet.rebind.ClientProxyGenerator.generateSerializers(ClientProxyGene rator.java: 563)
[google-appengine] Re: Reverse DNS lookup, Google Maps servers
Hello! I have exactly the same problem! Has someone got a solution? Thanks a lot!!! -- 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-appeng...@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] App Redirecting to Zimbio
Excuse my ignorance, first time poster, first time Google App Developer... I created an app but when I access it from my boss's computer (and about 10 other computers) it redirects to zimbio.com. However, I am able to access it from my personal computer and work computer. I do not have any code to allow the redirection. Does the user need to sign into their Google account to access this app or do they have to follow some other workaround? I would like to be able to give people the app website, and have them be able to use it without them needing to sign into anything. Any thoughts? -- 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-appeng...@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: Newbie Q - Public IP address_DNS Server?
Hello everyone, I come back on this subject because I need to set a public IP on my GAE. I need to call a Web Service from the server but this web service need a IP to authorize anyone to call it. When I lauch GAE in local, there's no problem because I can identify my IP. Is there a solution to set a public IP on a Google App Engine? Thanks a lot for your answer! -- 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-appeng...@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] problem using TextProperty
hello, I'm running GAE 1.4 and python 2.5.2 I built an application on the development server which worked fine. It's a simple application that takes data from external clients, puts it in the datastore, and then allows users to view it on the web. One of my fields in this model I recently switched from a StringProperty to a TextProperty to allow larger inputs. Since I have done this, I have not been able to get this field to persist any data. When I try to access this data in django or even directly through a webbrowser, it's no longer present. here is my model class Request(db.Model): result = db.TextProperty() class NewRequest(webapp.RequestHandler): def post(self): r = Request() r.result = self.request.get('result') r.put() self.response.out.write(r.key()) # in the development console regardless whether result is string or Text I can see result here logging.info(request: +r.result); # call with http://localhost:8080/test?key=keyprovidedaftersubmittingabove class test(webapp.RequestHandler): def get(self): r = Request.get(self.request.get('key')) # in the console I can see this result if the type is String, but not when TextProperty is used logging.info(request: +r.result); what am I doing wrong? I can't find any references to anybody with this problem, so it must be something really simple. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@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: GAE/J and Maven
Hey Patrick, Check out the GAE Maven plugin (http://code.google.com/p/maven-gae- plugin/)...that's what I use and it's easy :) don't forget to do mvn gae:unpack after you run mvn clean Mike! On Dec 14, 10:37 pm, Patrick Twohig patr...@namazustudios.com wrote: Hi, I'm having some trouble getting a GAE/J build to work with Maven. I've added the appropriate Project Nature in my pom.xml and when I open it up in eclipse, I am getting the following error. I was curious if anybody else had the same error and would have any insight as to how to solve it. The App Engine SDK '/~/.m2/repository/com/google/appengine' on the project's build path is not valid - Google App Engine Problem Thanks, Patrick. -- Patrick H. Twohig. Namazu Studios P.O. Box 34161 San Diego, CA 92163-4161 -- 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-appeng...@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] Google App engine how does the html knows which entry point to invoke?
Hi guys, Anyone know how does the html static with the Id knows which entry point to invoke within the web application ? Regards, KP -- 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-appeng...@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: deploy restlet onto gae with error
Ran into the same problem. Am running restlet M1. Just wondering if you already solved it - was about to start working on this. Thanks, RB On Dec 6, 5:57 pm, dadada ytbr...@gmail.com wrote: this is the console log. ompiling module org.restlet.example.gae.serialization.Serialization Validating newly compiled units [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/logging/impl/ DevModeLoggingFixes.java' [ERROR] Line 58: The method getName() is undefined for the type Logger [ERROR] Line 59: The method getName() is undefined for the type Logger [ERROR] Line 76: The method setUseParentHandlers(boolean) is undefined for the type Logger [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/logging/impl/ LoggerImplRegular.java' [ERROR] Line 73: The method getLevel() is undefined for the type Logger [ERROR] Line 109: The method intValue() is undefined for the type Level [ERROR] Line 109: The method intValue() is undefined for the type Level [ERROR] Line 131: The method log(Level, String) in the type Logger is not applicable for the arguments (LogRecord) [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/user/client/rpc/core/ java/util/logging/Level_CustomFieldSerializer.java' [ERROR] Line 38: The method parse(String) is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/user/client/rpc/core/ java/util/logging/LogRecord_CustomFieldSerializer.java' [ERROR] Line 50: The method parse(String) is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/emul/java/util/logging/ Handler.java' [ERROR] Line 43: The method intValue() is undefined for the type Level [ERROR] Line 43: The method intValue() is undefined for the type Level [ERROR] Errors in 'jar:file:/Users/ytbryan/Documents/workspace/ google/gwt-2.1.0/gwt-user.jar!/com/google/gwt/emul/java/util/logging/ LogManager.java' [ERROR] Line 34: The method setLevel(Level) is undefined for the type LogManager.RootLogger [ERROR] Line 57: The method getName() is undefined for the type Logger [ERROR] Line 77: The method getName() is undefined for the type Logger [ERROR] Line 80: The method getName() is undefined for the type Logger [ERROR] Line 81: The method setParent(Logger) is undefined for the type Logger [ERROR] Errors in 'file:/Users/ytbryan/Documents/workspace/ evogaws/src/org/restlet/example/common/ContactResource.java' [ERROR] Line 3: The import org.restlet.resource cannot be resolved [ERROR] Line 4: The import org.restlet.resource cannot be resolved [ERROR] Line 5: The import org.restlet.resource cannot be resolved [ERROR] Line 12: Get cannot be resolved to a type [ERROR] Line 15: Put cannot be resolved to a type [ERROR] Line 18: Delete cannot be resolved to a type [ERROR] Errors in 'file:/Users/ytbryan/Documents/workspace/evogaws/ src/org/restlet/example/gae/serialization/client/Serialization.java' [ERROR] Internal compiler error java.lang.NoSuchMethodError: com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.setLogOutputSt ream(Ljava/ io/OutputStream;)V at org.restlet.rebind.ClientProxyGenerator.generateSerializers(ClientProxyGene rator.java: 563) at org.restlet.rebind.ClientProxyGenerator.generateProxy(ClientProxyGenerator. java: 429) at org.restlet.rebind.ClientProxyGenerator.generate(ClientProxyGenerator.java: 208) at com.google.gwt.dev.javac.StandardGeneratorContext.runGenerator(StandardGene ratorContext.java: 427) at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java: 39) at com.google.gwt.dev.shell.StandardRebindOracle $Rebinder.tryRebind(StandardRebindOracle.java:115) at com.google.gwt.dev.shell.StandardRebindOracle $Rebinder.rebind(StandardRebindOracle.java:58) at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.j ava: 161) at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.j ava: 150) at com.google.gwt.dev.Precompile $DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(Precompile.ja va: 345) at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRe binds(WebModeCompilerFrontEnd.java: 106) at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox $CompilerImpl.process(AbstractCompiler.java:254) at
[google-appengine] Memcache broken with Always On?
I posted on this this in the java forum, but no traction there and I suspect it's not java specific. Memcache entries seem to be being scoped to an instance, not global. After a cache entry is made, it can be retrieved fine for any request that goes to that same instance. Any request to one of the other instances never finds the entry in the cache. Bug in Always On? Bug in 1.4.0? Design intent? Thanks, Tom -- 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-appeng...@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: automate user input in bulkloader's appcfg.py?
This should help: http://groups.google.com/group/google-appengine/browse_thread/thread/86457b3a95e30a5a --Matthew On Dec 14, 11:02 am, GK guruko...@gmail.com wrote: Hi, I want to write a python script which will automate the bulkloading process by writing a csv file, then running appcfg.py by using a command like os.system(appcfg.py ... ) The problem is I am having trouble automating user input when appcfg.py asks for authentication. I tried writing a text file called input.txt with the authentication details (it looked like this: myem...@gmail.com MyPassword and then running appcfg.py input.txt and this worked for the email, but not for the password. Would it be possible to modify appcfg.py to take the username and password as arguments, so that I could run the script like this: appcfg.py username=myem...@gmail.com pass=MyPassword ? Or could I simply hardcode the username/password in appcfg.py? What file would I have to modify in order to do this? Is there any easier way in python to automate user input? Any help would be appreciated. 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-appeng...@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] Memcache broken with Always On?
This is definitely not a design intent. Can you post any code or reproduction steps? -- Ikai Lan Developer Programs Engineer, Google App Engine Blogger: http://googleappengine.blogspot.com Reddit: http://www.reddit.com/r/appengine Twitter: http://twitter.com/app_engine On Wed, Dec 15, 2010 at 7:42 PM, Tom Phillips tphill0...@gmail.com wrote: I posted on this this in the java forum, but no traction there and I suspect it's not java specific. Memcache entries seem to be being scoped to an instance, not global. After a cache entry is made, it can be retrieved fine for any request that goes to that same instance. Any request to one of the other instances never finds the entry in the cache. Bug in Always On? Bug in 1.4.0? Design intent? Thanks, Tom -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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: This request used a high amount of CPU and may soon exceed its quota - 2010/2011
The only penalty is that requests that take more than 1000 mS will not benefit from automatic scaling. And you'll use more quota, obviously. -- 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-appeng...@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: Memcache broken with Always On?
Certainly Ikai, Firstly, some of my logs (url and classes slightly modified to hide some app details) that show how only the same instance picks up the entry. I'm determining and logging the instance using a UUID that I assign to a static class variable. The key for the cache lookup is passed in as a request query parameter to the followup requests. Here are two runs of the code to follow. In each, the bottom log is the cache entry being added. The next two are subsequent requests that both look for the entry. The entry is only found when then instance matches, regardless of which follow-up request. This first run shows how the bottom instance is different from the one that services both followup requests. So they don't find the entry: 50.16.21.20 - - [16/Dec/2010:11:19:40 -0800] GET /processg?key=619001 W 12-16 11:19AM 40.373 com.mycode.CallProcessGatherServlet doGet: LOOKING IN CACHE on Instance: b7c866f2-d74b-45df-9993-1d2c4705d3d1 W 12-16 11:19AM 40.373 com.mycode.CallProcessGatherServlet doGet: Message NOT found in cache for 619001 - building 50.16.21.20 - - [16/Dec/2010:11:19:35 -0800] POST /startreminder? key=619001pname=Optimal+Physio+Devatime=Friday+December+17%2C +2%3A18+PMrlang=enrvoice=woman W 12-16 11:19AM 33.173 com.mycode.CallMLServlet doGet: LOOKING IN CACHE on Instance: b7c866f2-d74b-45df-9993-1d2c4705d3d1 W 12-16 11:19AM 33.173 com.mycode.CallMLServlet doGet: Message NOT found in cache for 619001 - building 0.1.0.2 - - [16/Dec/2010:11:19:08 -0800] POST /tasks/voicereminder HTTP/1.1 200 105 http://cliniconexdev.appspot.com/cron/ processreminders?state=new W 12-16 11:19AM 08.581 com.mycode.CallPhoneAdapter doSend: CACHING message from instance: e4d5452e-c744-4333-b1d4-38eb55f97445 W 12-16 11:19AM 08.585 com.mycode.CallPhoneAdapter doSend: Adding to cache with key:619001 W 12-16 11:19AM 08.604 com.mycode.CallPhoneAdapter doSend: Successfully cached reminder 619001 In this second run, the first followup request hits the same instance that added it, and finds it. The second isn't so lucky, hitting a different instance 184.73.13.122 - - [16/Dec/2010:11:22:39 -0800] GET /processg? key=620001 W 12-16 11:22AM 38.782 com.mycode.CallProcessGatherServlet doGet: LOOKING IN CACHE on Instance: ff6ef71c-a017-4316-aa81-e77db741702b W 12-16 11:22AM 38.782 com.mycode.CallProcessGatherServlet doGet: Message NOT found in cache for 620001 - building 204.236.222.67 - - [16/Dec/2010:11:22:28 -0800] POST /startreminder? key=620001pname=Optimal+Physio+Devatime=Friday+December+17%2C +2%3A18+PMrlang=enrvoice=woman HTTP/1.1 200 683 - CallProxy/0.7,gzip(gfe) cliniconexdev.appspot.com ms=24 cpu_ms=23 api_cpu_ms=0 cpm_usd=0.000805 W 12-16 11:22AM 28.127 com.mycode.CallMLServlet doGet: LOOKING IN CACHE on Instance: b7c866f2-d74b-45df-9993-1d2c4705d3d1 W 12-16 11:22AM 28.134 com.mycode.CallMLServlet doGet: Message for entry 620001 FOUND in cache - using 0.1.0.2 - - [16/Dec/2010:11:22:06 -0800] POST /tasks/voicereminder HTTP/1.1 200 105 http://cliniconexdev.appspot.com/cron/ processreminders?state=new AppEngine-Google; (+http://code.google.com/appengine) cliniconexdev.appspot.com ms=506 cpu_ms=1664 api_cpu_ms=941 cpm_usd=0.046287 queue_name=reminder- queue task_name=17196018701084092971 W 12-16 11:22AM 05.964 com.mycode.CallPhoneAdapter doSend: CACHING message from instance: b7c866f2-d74b-45df-9993-1d2c4705d3d1 W 12-16 11:22AM 05.965 com.mycode.CallPhoneAdapter doSend: Adding to cache with key:620001 W 12-16 11:22AM 05.984 com.mycode.CallPhoneAdapter doSend: Successfully cached reminder 620001 Here is the code that creates the cache (if required) and adds the entry in the first request: Cache cache = null; log.warning(CACHING message from instance: + jvmId); try { cache = CacheManager.getInstance().getCache(cache_reminderVoice); } catch (final Exception e) { log.fine(Cache cache_reminderVoice not yet created); } if (cache == null) { try { cache = CacheManager.getInstance().getCacheFactory() .createCache(Collections.emptyMap()); CacheManager.getInstance().registerCache(cache_reminderVoice, cache); } catch (final CacheException e) { log.warning(Could not create/register cache cache_reminderVoice: + e.getMessage()); } } try { // Put the value into the cache. log.warning(Adding to cache with key: + reminder.getKeyId().toString()); if (parts == null) { log.warning(H..parts was null); } cache.put(reminder.getKeyId().toString(), parts); // Get the value from the cache just to test it is there final CacheEntry entry = cache.getCacheEntry(reminder.getKeyId() .toString()); if (entry != null) { log.warning(Successfully cached reminder + reminder.getKeyId()); } else { log.warning(Could not get cached voice message parts); } } catch (final Exception e) { log.warning(FAILED to cache voice message parts: + e.getMessage()); } Here is the code (same in both request handlers) that
[google-appengine] Instance scaling with problems
Due to lack of information about when App Engine starts new instances, how it affect performance and side effects of scaling up I have here made a short summary from my own experiences so others won't have to find it out the hard way. I still don't have any long experience with App Engine, but I see it as a very promision product. The problems I see with it are mostly associated with how the scaling of instances works. Mainly because NO information exists on how it works. Not even the support (by mail) seem to know how it works. I've tried to split this post into three parts for readability. Sorry for the wall of text. __ First some basic facts on the non-billing (free) and billing enabled versions. The free version can start at most 30 instances, and the billing enabled one have no hard limit. However, it got a soft limit which starts at 30 and is incremented by 10 when needed. When the application reaches its soft cap of instances and stays there for about 10-15 minutes, and it still lacks performance, then the soft cap is incremented by 10. If it still needs more it will be incremented by 10 after a few minutes, and so on. This all looks fine (although it isn't mentioned anywhere, which lead me to bad decisions). What is worse is some sort of minimum number of instances, which I will refer to as min instances, which App Engine will try to start up before activly forwarding the requests to hot instances. After a lot of testing, my results say that min instances starts on 1, and is incremented by 1 for every soft cap increment. That is, this value will be about a tenth of the soft cap. __ What is the effect of this min instances more exactly? If it is set to 4 then if there is/are: 0 instance started: An instance starts, user feel a cold start 1 instance started: 25% of user getting an hot instance, 75% of instance startup. 2 instances started: 50/50% of getting an hot or cold instance. 3 instances started: 75% of getting an hot... 4+ instances started: Now it behaves as everyone believes. Apart from being strange and not documented, there are some mayor issues with this: * It is not reverted! Even if the application is idle for a week, the min instances are not lowered. * Warmup requests is not triggered for the first min instances instance startups. * Always on starts only exactly 3 instance, if you sometime earlier have boosted your min instance past 3 then users will still notice cold starts, even if your application have been idle for the past hours! __ My story: I didn't know about the soft cap, and hit the roof pretty quickly with my stress tests. I aborted the tests then and asked support why it didn't start more instances. They just said I should have the test run longer. And so I did. I increased the soft cap to 100 instances or something and felt that the service would handle anything that was thrown at it. Now when my application have gone live the first users will more or less all be handeled by cold starts. It is always hard to predict the number of users, but in the worst case the first users will get scared away because of the performance issues and also warn other users about it. If by any means a Google employee knows about this issue, and knows how to revert the min instances (without interrupting the service) then please notify 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-appeng...@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: wait_any() returned None
I've got at least one of these this morning to. Anything I need to worry about? On Dec 9, 5:45 pm, Pranav Prakash pra...@gmail.com wrote: In one of my most expensive (in terms of calculations and datastore access) calls, I regularly get DeadlineExceededError. I am okay with it. Just now, I noticed the following in the error log. This same log was there for like 100 times and then DeadlineExceededError. I am pretty sure there is no such log in my app. Can someone throw a light on this ? wait_any() returned None D12-08 10:07PM 42.476 wait_any() returned None D12-08 10:07PM 42.476 wait_any() returned None -- 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-appeng...@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] App Redirecting to Zimbio
I'm pretty sure Google is not just randomly sending your users to some other site. ;) Maybe you've got some bad DNS entries, or need to switch DNS providers. You app can be served without forcing users to log into anything. That is totally up to you. http://code.google.com/appengine/docs/python/config/appconfig.html#Requiring_Login_or_Administrator_Status Robert On Wed, Dec 15, 2010 at 17:53, Iambeaker iambeaker...@gmail.com wrote: Excuse my ignorance, first time poster, first time Google App Developer... I created an app but when I access it from my boss's computer (and about 10 other computers) it redirects to zimbio.com. However, I am able to access it from my personal computer and work computer. I do not have any code to allow the redirection. Does the user need to sign into their Google account to access this app or do they have to follow some other workaround? I would like to be able to give people the app website, and have them be able to use it without them needing to sign into anything. Any thoughts? -- 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-appeng...@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-appeng...@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] how can i write Arabic in app engine
Ok this code works great: self.response.out.write(u'السلام عليكم'.encode('utf-8')) but when i use an html page instead of a string just like this: self.response.out.write(template.render(u'test.html'.encode('utf-8'))) it displays arabic characters rabish in the html page i tried to write this: meta http-equiv=Content-Type content=text/html; charset=utf-8 and tried with out it arabic characters rabish both displays 2010/12/16 风笑雪 kea...@gmail.com I suggest you always use UTF-8, not windows-1256. However, if you insist on using windows-1256, you should encode your unicode output to str: self.response.out.write(u'some unicode string'.*encode*('windows-1256')) or: self.response.out.write('some windows-1256 string') # don't decode it -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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] how can i write Arabic in app engine
Ok this code works great: self.response.out.write(u' السلام عليكم'.encode('utf-8')) but when i use an html page instead of a string just like this: self.response.out.write(template.render(u'test.html'.encode('utf-8'))) it displays arabic characters rabish in the html page i tried to write this: meta http-equiv=Content-Type content=text/html; charset=utf-8 and tried with out it both displays arabic characters rabish 2010/12/17 fatimah mujallid f.mujal...@gmail.com Ok this code works great: self.response.out.write(u'السلام عليكم'.encode('utf-8')) but when i use an html page instead of a string just like this: self.response.out.write(template.render(u'test.html'.encode('utf-8'))) it displays arabic characters rabish in the html page i tried to write this: meta http-equiv=Content-Type content=text/html; charset=utf-8 and tried with out it arabic characters rabish both displays 2010/12/16 风笑雪 kea...@gmail.com I suggest you always use UTF-8, not windows-1256. However, if you insist on using windows-1256, you should encode your unicode output to str: self.response.out.write(u'some unicode string'.*encode*('windows-1256')) or: self.response.out.write('some windows-1256 string') # don't decode it -- keakon My blog(Chinese): www.keakon.net Blog source code: https://bitbucket.org/keakon/doodle/ -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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] Google App engine how does the html knows which entry point to invoke?
Hi KP, I am not sure what you are asking, but these docs might be useful: Python: http://code.google.com/appengine/docs/python/config/appconfig.html#Static_File_Handlers Java: http://code.google.com/appengine/docs/java/config/appconfig.html#Static_Files_and_Resource_Files Static files are handled like, well, static files. You specify the path(s) for your static content, then when a user requests one of those paths the static content is served. Robert On Thu, Dec 16, 2010 at 10:45, Kenneth Phang visualbookma...@gmail.com wrote: Hi guys, Anyone know how does the html static with the Id knows which entry point to invoke within the web application ? Regards, KP -- 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-appeng...@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-appeng...@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: max_backoff_seconds - working?
Vlad, Your case is a bit of an edge case for us. At the time your task is dispatched, do you have any other tasks still in the queue scheduled to execute within the next twenty seconds? If not, your queue is considered empty and will next be checked for tasks to dispatch in twenty seconds time. If, during this interval, your task that was running now fails, the task's retry won't be able to run until after this twenty seconds has elapsed. If there were other tasks in the queue scheduled to execute during the twenty seconds after your task's eta, you might find your task meeting its 7 second retry backoff more precisely. Nick Verne On Thu, Dec 16, 2010 at 2:58 PM, vlad vlad.troyan...@gmail.com wrote: Hi Nick, Task schedule delays (best effort) are expected but this is not the case. Take a look at the log excerpt below which shows a task with 6 reties. Retries are perfectly timed on flat 20sec back off schedule. In other words I have never seen task reties follow what I put in my queue.yaml. Instead they *always* do 20 sec backoff. Another fact that might help is this has not changed at all with SDK 1.4.0 release. This picture was exactly the same before the release. My queue.yaml queue: - name: default rate: 20/s bucket_size: 100 retry_parameters: task_age_limit: 120s min_backoff_seconds: 1 max_backoff_seconds: 7 12-14 11:56PM 14.864 /_ah/queue/deferred 500 71ms 63cpu_ms 16api_cpu_ms 0kb AppEngine-Google; (+http://code.google.com/appengine) See details 0.1.0.2 - - [14/Dec/2010:23:56:14 -0800] POST /_ah/queue/deferred HTTP/1.1 500 124 http://ace-poker.appspot.com/_ah/queue/deferred; AppEngine-Google; (+http://code.google.com/appengine) ace-poker.appspot.com ms=71 cpu_ms=63 api_cpu_ms=17 cpm_usd=0.001856 queue_name=default task_name=9640193529655285671 I 12-14 11:56PM 14.867 X-Appengine-Taskretrycount:6, X-Appengine-Queuename:default, X-Appengine-Taskname:9640193529655285671, X-Appengine-Current-Namespace: I 12-14 11:56PM 14.868 running task: {'player': 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'who': 'dealer', 'type': 'action', 'hand-snapshot': u'flop-50 I 12-14 11:56PM 14.921 Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) I 12-14 11:56PM 14.921 pre-action-dealer (force-fold) 12-14 11:56PM 14.864 /_ah/queue/deferred 500 71ms 63cpu_ms 16api_cpu_ms 0kb AppEngine-Google; (+http://code.google.com/appengine) See details 0.1.0.2 - - [14/Dec/2010:23:56:14 -0800] POST /_ah/queue/deferred HTTP/1.1 500 124 http://ace-poker.appspot.com/_ah/queue/deferred; AppEngine-Google; (+http://code.google.com/appengine) ace-poker.appspot.com ms=71 cpu_ms=63 api_cpu_ms=17 cpm_usd=0.001856 queue_name=default task_name=9640193529655285671 I 12-14 11:56PM 14.867 X-Appengine-Taskretrycount:6, X-Appengine-Queuename:default, X-Appengine-Taskname:9640193529655285671, X-Appengine-Current-Namespace: I 12-14 11:56PM 14.868 running task: {'player': 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'who': 'dealer', 'type': 'action', 'hand-snapshot': u'flop-50-chj8szUM', 'hand': 'aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw'} I 12-14 11:56PM 14.921 Hand=aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, state=playing, table=Medes (aglhY2UtcG9rZXJyDQsSBVRhYmxlGPODOAw) I 12-14 11:56PM 14.921 pre-action-dealer (force-fold) I 12-14 11:56PM 14.921 pre-action: (force-fold) pot=50 round=flop board=[u'Td', u'Ac', u'Ad'] current_bet=0 next_to_act=0 players: aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM: bet=0 total=10 acted=False in-game=True aglhY2UtcG9rZXJyDgsSBlBsYXllchispDUM: bet=0 total=10 acted=False in-game=True I 12-14 11:56PM 14.928 notify-multi: ['hjygzgM-33', 'hixwjgM-33', 'hiZyjgM-33', 'hiLhTUM-33', 'hispDUM-33', 'hj8szUM-33', 'bserver-33'] I 12-14 11:56PM 14.928 {'pot': 50L, 'who': 'dealer', 'hand': 'aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw', 'player': 'aglhY2UtcG9rZXJyDgsSBlBsYXllchj8szUM', 'action': 'force-fold', 'type': 'action', 'stack': 1685L, 'hand-snapshot': u'flop-50-chj8szUM'} D 12-14 11:56PM 14.928 hand action: {'pot': 50L, 'who': 'dealer', 'hand': datastore_types.Key.from_path(u'Table', 918003L, u'Hand', 330015L, _app=u'ace-poker'), 'player': datastore_types.Key.from_path(u'Player', 875004L, _app=u'ace-poker'), 'action': 'force-fold', 'type': 'action', 'stack': 1685L, 'hand-snapshot': 'flop-50-chj8szUM'} I 12-14 11:56PM 14.928 hand = aglhY2UtcG9rZXJyGQsSBVRhYmxlGPODOAwLEgRIYW5kGJ-SFAw, betting finished, round = flop I 12-14 11:56PM 14.929 showdown among 4 players E 12-14 11:56PM 14.931 datastore_types.Key.from_path(u'Player', 926001L, _app=u'ace-poker') Traceback (most recent call last): File /base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py, line 517, in __call__ handler.post(*groups) File
[google-appengine] Custom Domain
Hi, I configured my appengine app with my domain www.mydomain.com.co, but it doesnt works just with mydomain.com.co (without subdomain). There is a restriction? What could be wrong? Thx a lot! -- 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-appeng...@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: Custom Domain
You can't do CNAME for bare domains Some DNS providers have the facility of allowing you to specify a redirect from the bare domain to you www. Rgds 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-appeng...@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: Appengine's Turkey problem
Shouldn't someone solve this problem? On Dec 15, 6:33 am, Kaan Soral kaanso...@gmail.com wrote: It took me a long time to figure out that the reason of my domain name(www.something.com) on Appengine not working is that Youtube IP's are banned in Turkey. So when i ping my domain, It can't reach ghs.l.google.com Should Google use seperate IP's for domain related things or should we forget about Turkey if we use Appengine? -- 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-appeng...@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: Newbie Q - Public IP address_DNS Server?
Nope - the best I can think of ghs.google.com although that is where inbound traffic is going to and not necessarily where url fetch hits originate from. I can't imaging all the traffic from the url fetch pool coming from any single ip address. FWIW, A web service whitelisting an ip address is poor security because it is relatively easy for public relays to see where the traffic is coming from and then spoof hits to come from those sources. It is much better to sign your web service requests with a key like AWS SimpleDB does. On Thu, Dec 16, 2010 at 6:52 AM, jlancelot julien.lance...@gmail.comwrote: Hello everyone, I come back on this subject because I need to set a public IP on my GAE. I need to call a Web Service from the server but this web service need a IP to authorize anyone to call it. When I lauch GAE in local, there's no problem because I can identify my IP. Is there a solution to set a public IP on a Google App Engine? Thanks a lot for your answer! -- 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-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.comgoogle-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-appeng...@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: Appengine's Turkey problem
Hi I don't really believe it is solvable by google. If they add a new pool of addresses for appengine, and some apps turn up on appengine that any particular government doesn't like, they will block access to that range and you are back in the same situation. All anyone can do is educate and lobby their government. Rgds Tim Hoffman -- 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-appeng...@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: Using closure with channel API
Publishing the uncompiled files is in the works! I know it'll be useful for those of you using closure (it could save a lot of code size). No definite time line but I'm working on it now. -- 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-appeng...@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: Disconnect notification via Channel API?
Yep, connect/disconnect is in the works. No firm ETA, but it's coming. -- You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appeng...@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: [Channel API] How do I know the token expired or not in server side?
I think this was also asked/answered over in the python group, but I'll post here too for the sake of completeness: 1. Token expires two hours from when you call create_channel. So if you wanted to store it server side, you could also store a time stamp. Note that the expiration's accuracy is on the order of seconds, not clock cycles, so don't worry about trying to get an exact timestamp match. 2. Notification of client connect/disconnect is in the works, but not available right now. -- 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-appeng...@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: Using closure with channel API
This is great news. Thanks for the update. -- 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-appeng...@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] Anyone see a bounce forwarded from the mail service?
Does anyone get bounced email delivered to the From: address as per the spec the error message is sent by email to the address of the sender for the message. Ever since my public launch, I've been sending out lots (many thousands) of emails but have never seen a bounce from the mail service. The app is set up to BCC certain messages to our supp...@ninuku.com google apps account so that we can track the site's activity. The email below definitely has a bad TO address. Here are the headers: Delivered-To: supp...@ninuku.com Received: by 10.216.244.140 with SMTP id m12cs59454wer; Wed, 15 Dec 2010 15:21:03 -0800 (PST) Received: by 10.150.97.1 with SMTP id u1mr10964756ybb.74.1292455262592; Wed, 15 Dec 2010 15:21:02 -0800 (PST) Return-Path: 3xu0jtrajbweojovlv-bsdijwjtuhnbjm.dpntvqqpsuojovlv@m3kw2wvrgufz5godrsrytgd7.apphosting.bounces.google.com Received: from mail-gw0-f71.google.com (mail-gw0-f71.google.com[74.125.83.71]) by mx.google.com with ESMTP id h21si3751294yha.107.2010.12.15.15.21.02; Wed, 15 Dec 2010 15:21:02 -0800 (PST) Received-SPF: pass (google.com: domain of 3xu0jtrajbweojovlv-bsdijwjtuhnbjm.dpntvqqpsuojovlv@m3kw2wvrgufz5godrsrytgd7.apphosting.bounces.google.comdesignates 74.125.83.71 as permitted sender) client-ip=74.125.83.71; Authentication-Results: mx.google.com; spf=pass (google.com: domain of 3xu0jtrajbweojovlv-bsdijwjtuhnbjm.dpntvqqpsuojovlv@m3kw2wvrgufz5godrsrytgd7.apphosting.bounces.google.comdesignates 74.125.83.71 as permitted sender) smtp.mail= 3xu0jtrajbweojovlv-bsdijwjtuhnbjm.dpntvqqpsuojovlv@m3kw2wvrgufz5godrsrytgd7.apphosting.bounces.google.com Received: by gwj18 with SMTP id 18so1928582gwj.10 for supp...@ninuku.com; Wed, 15 Dec 2010 15:21:02 -0800 (PST) MIME-Version: 1.0 Received: by 10.42.164.9 with SMTP id e9mr406464icy.63.1292455261780; Wed, 15 Dec 2010 15:21:01 -0800 (PST) Reply-To: Ninuku Support supp...@ninuku.com X-Google-Appengine-App-Id: ninuku-archivist Message-ID: 90e6ba6e8ab0c4398004977b3...@google.com Date: Wed, 15 Dec 2010 23:21:01 + Subject: Your Ninuku Archivist Chapter is Ready to view. From: Ninuku Archivist supp...@ninuku.com To: southernt...@aol.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes I have another test account on our system with the email address j...@plumber.test Again, supp...@ninuku.com has never seen a bounce report for any email sent to this obviously dummy address. -- 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-appeng...@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.