A bit of a blast from the past on this thread, but...
I've always had a trickle of serialization problems in production
using the Deferred servlet. Finally I had one that was consistent and
repeatable. I forced it to base64 encode always (not just dev mode)
and now it works consistently.
FYI.
John,
I think my earlier serialization error problems in production were
because I was unnwittingly using an old version of GAE (1.2.6). Vince
was never able to reproduce the issue in production. I believe
everything is working in dev and prod as of 1.2.8. Give it a whirl and
post your feedback.
Issue #2097 still exists on the development server; however, I just
committed a workaround. This workaround has a dependency on Apache Commons
Codec:
http://commons.apache.org/codec/
I'm not aware of any issues in production. For convenience, here's the link
again to the source:
I can't seem to find any additional postings on this topic and I'm not
sure what the conclusion for being able to use the Deferred capability
with the latest Java SDK release. I'm just wondering if Vince's
solution works on both server and development environments.
On Dec 16, 10:42 am, David
I greatly appreciate the work that has been done here. But let me ask my
question another way. Is it known that this does not work?
On Thu, Dec 31, 2009 at 5:19 PM, John Howe jhowe...@gmail.com wrote:
I can't seem to find any additional postings on this topic and I'm not
sure what the
Thanks, Vince.
Regarding a way to access the Guice injector, I've figured out I can
simply create and access the injector via a static factory, so no
changes are needed to Deferred or Deferrable. This works for AppEngine
since there is only one WAR per JVM. If there were more than web app,
I'm
Jeff,
I'm seeing problems with deserialization, too, when deployed on
AppEngine. In dev, I can deserialize(serialize(task)) and it works
just fine, but not so in AppEngine. I get the same error whether the
task payload is the serialized Deferrable task itself or just the Key
with the task in the
I've solved the serialization problems by Base64 encoding the
serialized task before calling payload() and decoding it in the
deserialize(HttpServletRequest) method. I'm guessing something in the
task queue chain (either task queue payload storage or the servlet
call when task is run) has problems
Hi Vince,
I haven't had a chance to integrate your code yet, so feel free to continue
making modifications. In particular, I think it would be useful to provide
the same set of options the Python deferred API accepts, which include 'eta'
and 'countdown' parameters, as well as specifying the queue
Hi Jeff,
Thanks for the suggestions and the code. David Chandler sent me a patch to
support user-specified queue names (almost exactly the same as your
changes), and I've committed that patch to SVN. Regarding your other
changes:
- I've probably make the url-pattern init parameter optional and
Attached is a modified version of that class that lets you define any
path you want for the servlet and lets you specify which queue to use
like this: Deferred.defer(task, queueName);
(I needed this for my own purposes)
Do with it as you wish :-)
The only other major change I would make is to
Hi Vince,
On Wed, Nov 11, 2009 at 2:07 PM, Vince Bonfanti vbonfa...@gmail.com wrote:
Hi Nick,
I'm taking this off-list for now.
I've visited codereview.appspot.com, but am confused. I tried creating
a new issue, but:
- what do I specify for SVN base?
Leave it blank if it'll let you -
I'm not sure about adding a TemporaryTaskFailure
(TransientTaskFailure?) exception, but regardless of whether we do or
not, it seems that the Deferrable.doTask method should be declared to
throw Exception. Otherwise, implementations will be restricted to
throwing only RuntimeException (or
I've faxed over the CLA and created issue #2381 for this:
http://code.google.com/p/googleappengine/issues/detail?id=2381
Here are the changes I've made since the original implementation:
- The Deferrable.doTask method is now declared to throw Exception
(instead of PermanentTaskFailure).
Hi Vince,
Thanks for doing this! Could you upload your code to
codereview.appspot.comand link to it from the issue? We can continue
the discussion there.
-Nick
On Tue, Nov 10, 2009 at 9:37 PM, Vince Bonfanti vbonfa...@gmail.com wrote:
I've faxed over the CLA and created issue #2381 for this:
I just committed an update to this to remove the static
DatastoreService instance.
Vince
On Sat, Oct 31, 2009 at 2:08 PM, Vince Bonfanti vbonfa...@gmail.com wrote:
This looked like an interesting problem, and I already had most of the
pieces in place, so here's my first attempt, which is
This looked like an interesting problem, and I already had most of the
pieces in place, so here's my first attempt, which is implemented in a
single class (also attached, along with some test files):
Hi David. This may be coming to Java eventually, but it hasn't been started
yet. If you or anyone else is interested in contributing, let me know.
- Jason
On Wed, Oct 28, 2009 at 7:52 AM, David Chandler turboman...@gmail.comwrote:
Re: http://code.google.com/appengine/articles/deferred.html
18 matches
Mail list logo