Cron Jobs may not help me here as cron jobs schdule format is like this..and i want my job to run every second..... Now i can see only one way which is Run a cron job every minues...insert 60 tasks and task queue should be configured to run only 1 task per second but i m not sure if this setup will work fine too...
every N (hours|mins|minutes) ["from" (time) "to" (time)] The brackets are for illustration only, and quotes indicate a literal. - *N* specifies a number. - *hours* or *minutes* (you can also use *mins*) specifies the unit of time. - *time* specifies a time of day, as HH:MM in 24 hour time. On Mon, May 2, 2011 at 5:37 AM, Robert Kluin <[email protected]> wrote: > Hi Ravi, > Responses inline. > > > On Sat, Apr 30, 2011 at 17:07, Ravi Sharma <[email protected]> wrote: > > Hi Robert, > > How naming the task will help me?Sorry i didnt understand it. But anyways > i > > have named them now. > > The purpose in naming tasks is to help prevent fork-bombs. It helps > because otherwise if your task fails and retries after inserting the > next task, or it runs multiple times, you'll have two (or more) tasks > that are 'chaining.' If a new task fails, you'll have more chains. > Naming tasks helps prevent this, you just need to catch and ignore > task already exists errors and tombstoned task errors. > > > > > > In My code i have made sure that whatever exception comes from my code > will > > not be thrown out of my controller and will just print it in log. So in > what > > scenerio it failed and retried and also before failing completely it > added > > next task in the queue which is my last statment in my controller.(Thats > how > > i got more then 1 task in my queue) > > Tasks sometimes run multiple times, even if there was no exception or > they are named. I don't see this happen a lot, but it does happen. > > > > And if it failed to add Task then it should retry the current task and i > > should still have 1 active task only. > > It will only retry if you return a non 200 HTTP status code. So don't > just blindly catch and ignore exceptions unless you want a task to not > retry. Certainly you should always make sure you've inserted your > continuation, otherwise the chain will break (in other words, no more > tasks...). > > > > > and today also i found that my task stopped. I dont know how can i make > sure > > that i can run one task every N seconds and i dont need to monitor it > > manually..... > > I totally agree with Nischal, you might want to look at cron. > > > > > > > Thanks > > Ravi. > > > > > > On Sat, Apr 30, 2011 at 9:01 PM, Robert Kluin <[email protected]> > > wrote: > >> > >> Hi Ravi, > >> You should name your tasks. If one fails and retries for some > >> reason, or runs multiple times, then the tasks will start to fan-out > >> (think fork-bomb). > >> > >> > http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#taskName(java.lang.String) > >> > >> > >> To control the delay you can set a countdown or eta. Note that the > >> time you specify is like a request, I've not seen tasks run before > >> than time, but tasks will sometimes run later than requested. > >> > >> > http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#countdownMillis(long) > >> > >> > >> Robert > >> > >> > >> > >> > >> > >> On Sat, Apr 30, 2011 at 02:13, Ravi Sharma <[email protected]> wrote: > >> > Hi , > >> > I have a chained task which runs every 1 second(Still wondering how > can > >> > i > >> > run it every 3 seconds) > >> > Task code is something like this > >> > try{ > >> > //Do something > >> > //read data store and update datastore > >> > }catch(Throwable ex){ > >> > logger.log(Level.Sever,ex.getMessage(),ex); > >> > }finally{ > >> > //add next task to queue to be run next > >> > Queue queue = QueueFactory.getQueue("queuename"); > >> > > >> > > >> > > queue.add(TaskOptions.Builder.withUrl("/tasks/mytask/"+auctionId).method(Method.GET)); > >> > } > >> > > >> > Now i expect that one task will be finished and next will be added to > >> > the > >> > queue. 2 days back i found 4-5 tasks in the queue i dont know how they > >> > got > >> > there > >> > > >> > and today i found tasks queue empty. How it can be possible that queue > >> > can > >> > get more then 1 task at a time or it can get empty.I still have quota > >> > left > >> > for the day. > >> > > >> > My App Name is edurectory > >> > > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "Google App Engine" 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-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 [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-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 [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-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 [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-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 [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-appengine?hl=en.
