#appengine にてMailAPIのOverQuotaExceptionを発生させてみた。
エラー内容は下記
org.slim3.controller.Controller runBare: The API call mail.Send() required more quota than is unavailable. com.google.apphosting.api.ApiProxy$OverQuotaException: The API call mail.Send() required more quota than is unavailable. at com.google.apphosting.runtime.ApiProxyImpl.doSyncCall(ApiProxyImpl.java:176) at com.google.apphosting.runtime.ApiProxyImpl.access$000(ApiProxyImpl.java:37) at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:75) at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:71) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:71) at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:37) at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:79) at com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java:95) at com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java:32) at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:247) at javax.mail.Transport.send(Transport.java:95) at javax.mail.Transport.send(Transport.java:48)
OverQuotaExceptionが発生したら管理者にメールするとかもいいのかもなぁ〜とか考えてます。
MailAPIのOverQuotaExceptionだったらそもそも管理者にもメールできないかもしれませんが。
追記 ApiDeadlineExceededException
引き続きテストしてたらこんなエラーも出た。API呼び出しに時間がかかったということだろうか。
org.slim3.controller.Controller runBare: The API call mail.Send() took too long to respond and was cancelled. com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call mail.Send() took too long to respond and was cancelled. at com.google.apphosting.runtime.ApiProxyImpl.doSyncCall(ApiProxyImpl.java:109) at com.google.apphosting.runtime.ApiProxyImpl.access$000(ApiProxyImpl.java:37) at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:75) at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:71) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:71) at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:37) at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:79) at com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java:95) at com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java:32) at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:247) at javax.mail.Transport.send(Transport.java:95) at javax.mail.Transport.send(Transport.java:48)
Billing Settingsをして有料にしたらどうなるかをテストしていますが、Billing Settingsってすぐに有効になるのかな??
1分間に32件しかメールAPI呼び出しできないという制限をBilling Settingsで回避したいんだが出来ているのかがよくわからん。。グルージェント本によるとBilling Settingsすると4900回までOKになると書いてある。
![Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ) Google App Engine for Java [実践]クラウドシステム構築 (WEB+DB PRESS plus) (WEB+DB PRESSプラスシリーズ) (WEB+DB PRESS plusシリーズ)](http://ecx.images-amazon.com/images/I/51S5E3PHJFL._SL160_.jpg)
- 作者: (株)グルージェント
- 出版社/メーカー: 技術評論社
- 発売日: 2009/09/10
- メディア: 単行本(ソフトカバー)
- 購入: 65人 クリック: 2,041回
- この商品を含むブログ (45件) を見る
さらに追記
Billing Settingsしてから10分後くらいにはもう有効になってる風です。OverQuotaExceptionがまったく発生しなくなりました。1分間に32件の制限は回避されたようです。