Hey Rahul,

See 
http://groups.google.com/group/google-appengine-java/browse_thread/thread/b57e6c4895333fa8/f5196d61f70000f2
for an official discussion of this issue.  The first post talks about
"discouraged" workarounds, but doesn't cite the 60-second ping
specifically.  This was the result, though, of a string of prior
threads that discussed this issue and workaround.  As you can see from
the date, this is not a new problem.  Again, I used the 60-second ping
for awhile and it really didn't solve the problem - just ensured that
the loading requests happened every 60 seconds :)

As for the framework, good point.  I use Wicket which is pretty
powerful.  I've gotten it down to about 3-4 seconds load.  One plugin
had a dependency on Spring that I removed.  As discussed here:
http://code.google.com/p/objectify-appengine/wiki/BestPractices#Automatic_Scanning
anything that scans the classpath can be pretty demanding.

That being said, I'm not currently using my deployed application for
demonstrations - I use a development server hosted on our own
machines.  My hope is that the restart issue will be resolved someday.

Jake

On Jun 11, 11:07 am, Rahul <rahul.jun...@gmail.com> wrote:
> Jake,
>
> Is there any official comments on this from google which says that it
> discourage the pinging every 60 seconds or so.
>
> Also if we have some framework which we will always like to have if
> doing some production application then what is the way out.
>
> Thanks,
> Rahul
>
> On Jun 11, 10:16 am, Jake <jbrooko...@cast.org> wrote:
>
> > Hi Mark,
>
> > Yes, you can do better than 4.5 seconds without a framework.  Also,
> > there are layers that can be placed over the low level datastore (e.g
> > Objectify) that add ease-of-use without noticeable additions to the
> > startup time.
>
> > The 60 second pinging thing is, indeed, done by some users and is
> > officially discouraged by Google.  At one point, I set up a similar
> > pinging feature and found that it really didn't work.  Theoretically
> > it should, but the pings just caused loading requests every minute or
> > so, which simply reduced the likelihood that a user would see the
> > loading request; it didn't solve the problem.
>
> > Jake
>
> > On Jun 11, 7:32 am, Mark <mar...@gmail.com> wrote:
>
> > > Hi, just joining in, trying to sum up:
>
> > > In the best case (if we only use the low level datastore + no
> > > frameworks on top) we can only hope that a fresh restart of our app
> > > will take 4.5 seconds?
>
> > > However if at least one user is hitting the site every 60 seconds from
> > > somewhere in the world, then our app should be kept alive and no need
> > > for restarts?
>
> > > Not that I'm planning on doing it, but what prevents developers from
> > > simply pinging the site every 60 seconds to force the app to stay in
> > > memory? I ask what prevents it because if I play by the rules, I'm
> > > going to get penalized if other developers are 'cheating' and doing
> > > the artificial pinging,
>
> > > Thanks
>
> > > On Jun 9, 5:49 am, Jake <jbrooko...@cast.org> wrote:
>
> > > > Hey Tin,
>
> > > > Several people were using GAE's built in timing mechanism to ping the
> > > > server to accomplish the same thing.  Google came out and officially
> > > > discouraged this as it tends to throw off any attempts they are
> > > > currently making to fix the problem.  I can't tell people what to do,
> > > > but I opted to stop using this hack in the hopes that they will solve
> > > > the problem.
>
> > > > Besides, you'll notice that this hack doesn't really work over the
> > > > long run.  It will essentially restart your server every minute and
> > > > won't really prevent the loading request from falling on your users
> > > > instead of on your ping.
>
> > > > Jake
>
> > > > On Jun 8, 1:54 pm, Tin <tin.c...@gmail.com> wrote:
>
> > > > > Hi all:
>
> > > > > We have found a temporary solution for this issue:
> > > > > Try with an AJAX timer kicking the server (doing nothing), maybe one
> > > > > request per minute (or less) and GAE will keep our site / users in the
> > > > > same node.
> > > > > In our testing it could avoid the GAE web instance reloaded, but if
> > > > > the request interval is long, it would cause another Datastore
> > > > > performance issue:http://goo.gl/98zkthatwillbefixedin near
> > > > > future.
>
> > > > > More info please refer to here:http://goo.gl/mzQR

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to