On Apr 10, 2009, at 1:27 AM, Stuart McCulloch wrote:

> 2009/4/10 Scott Hernandez <[email protected]>
>
> Seems like you can just setup a re-entrant task where when it gets
> close to 30 seconds (or a good place to pause) it calls out to another
> app (by url) that immediately calls back (to a place you can even
> specify on the request) with all the info needed to start back up and
> continue processing. Then you just have your task ping this restart/
> resume service, and magically you get a request with where to start
> back up. Keep doing this as long as you need to do work.
>
> Using cron to start these processes seems straight forward enough, and
> they can go one as long as you want by simpling ping'n yourself
> (essentially) continously.
>
> interesting idea... I wonder how easy it would be to create a  
> continuations framework on top of the GAE scheduler?

Holy hack-tastic batman ;)

-bp



>
> On Apr 9, 11:09 am, Stuart McCulloch <[email protected]> wrote:
> > 2009/4/10 Eduardo Nunes <[email protected]>
> >
> >
> >
> > > yes, but the main problem about the cron, is that it executes a  
> URL,
> > > so you have only 30 seconds to do something, at least if they
> > > implemented the same restriction to "cron requests". Does anyone  
> know
> > > something about it?
> >
> > yes the same 30s timeout is applied to cron jobs, and you can have  
> a maximum
> > of 20 jobs
> >
> > On Thu, Apr 9, 2009 at 1:41 PM, Brian Pontarelli  
> <[email protected]>
> >
> >
> >
> > > wrote:
> >
> > > > On Apr 9, 2009, at 10:21 AM, Stuart McCulloch wrote:
> >
> > > > 2009/4/10 Brian Pontarelli <[email protected]>
> >
> > > >> > yes the Google App Engine has a strict security manager -  
> it also
> > > >> > doesn't allow you to create threads
> >
> > > >> Ouch. Sorta hinders applications that burst/multiplex backend  
> services
> > > >> or that use schedulers. Wonder if they'll provide a thread  
> pool at
> > > >> some point.
> >
> > > > yep - though there is a basic "cron" scheduler service:
> >
> > > >    http://code.google.com/appengine/docs/java/config/cron.html
> >
> > > > Nice.
> >
> > > > also, requests have a time limit of 30s - after that they get  
> zapped
> >
> > > >    http://code.google.com/appengine/docs/java/runtime.html
> >
> > > > Even more reason to burst requests to backend service and do
> > > > things asynchronously inside the application rather than  
> letting the GAE
> > > > truncate the connection. Adding a task execution service would  
> solve it.
> > > You
> > > > could pin the task to the server that is handling the request  
> or span it,
> > > > depending on how the tasks are implemented and if they can be
> > > distributed.
> > > > You could also define well known tasks in the appengine XML  
> file and this
> > > > would allow distribution:
> > > > <task>
> > > >   <class>com.example.BurstSomeBackendTask</class>
> > > >   <!-- Additional task info -->
> > > > </task>
> > > > public class BurstSomeBackendTask implements Task {
> > > >   public void execute(TaskRequest request, TaskResponse  
> response) {
> > > >     // do the task here
> > > >   }
> > > > }
> > > > // Client
> > > > Map<String, String> data = ...;
> > > > TaskService ts = TaskServiceFactory.createTaskService();
> > > > TaskResponse response =
> > > > ts.executeAndWait("com.example.BurstSomeBackendTask", data, 10);
> > > > TaskFuture tf = ts.execute("com.example.BurstSomeBackendTask",  
> data);
> >
> > > > The data could also be a protobuffer or some other type of  
> transport.
> > > > Plus, if anything wants to do NIO work, it will need to have  
> selector
> > > > thread(s).
> > > > There are many reasons to use threads, so it seems that  
> locking them down
> > > > would dictate that the GAE would need to provide alternative  
> solutions.
> > > > -bp
> >
> > --
> > Cheers, Stuart
>
>
>
>
> -- 
> Cheers, Stuart
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to