Reputation: 26264
When I try to add to the queue, it gives this exception. It works in development but not production.
Caused by: java.lang.IllegalArgumentException: Invalid URL : null
at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:116)
at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:549)
at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:521)
at com.google.appengine.api.utils.FutureWrapper.wrapAndCache(FutureWrapper.java:53)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:90)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:86)
at com.google.appengine.api.taskqueue.QueueApiHelper.getInternal(QueueApiHelper.java:72)
at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:413)
at com.onixnet.sdm.server.SDMServiceImpl.sendEmails(SDMServiceImpl.java:155)
queue.add(withUrl("/worker").param("userId", Utils.getUserId()).param("storeType", storeType)
.param("associate", String.valueOf(associate)).param("fsm", String.valueOf(fsm)).param("sa", String.valueOf(sa))
.param("other1", String.valueOf(other1)).param("other1Str", other1Str).param("other2", String.valueOf(other2)).param("other2", other2Str)
.param("folder", folder).param("folderId", folderId)
.param("from", getUserEmail()).param("subject", subject).param("body", body)
.method(Method.GET));
<servlet>
<servlet-name>Worker</servlet-name>
<servlet-class>com.onixnet.sdm.server.WorkerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Worker</servlet-name>
<url-pattern>/worker</url-pattern>
</servlet-mapping>
<queue-entries>
<queue>
<name>default</name>
<rate>1/s</rate>
</queue>
</queue-entries>
https://developers.google.com/appengine/docs/java/taskqueue/overview-push
Upvotes: 0
Views: 605
Reputation: 26264
I had to use Method.POST
instead of GET
, and in the worker task servlet, use doPost()
. I believe the request was too large for a GET. The problem was Google did not provide a useful error message, and instead used a cryptic one.
Upvotes: 2