On 28/05/2014 22:07, Kohsuke Kawaguchi wrote:
On 05/28/2014 01:49 PM, Jesse Glick wrote:
It would be nice (especially if we can finally kill Auto Refresh!),
but you have to be very careful about the performance impact.
ajaxBuildQueue and ajaxExecutors already impose a significant burden
on the server when a lot of people are holding pages open. Anyone
proposing to add *more* AJAX stuff had better promise to fix the
performance of what is already there first. Being able to collapse
these widgets is fine but they are expanded by default and there is
currently no way to leave them expanded yet impose minimal overhead.
And the problem is that adding more dynamic updates in a modular way
(i.e., friendly to plugins) translates to a lot of separate HTTP
requests, and thus lots of overhead—unless you take care to define a
new API framework for “stuff that may be contributed by various
components and should be bundled in a periodic refresh when out of
date”, which is starting to sound like a crappy reimplementation of
Meteor.
I was mentally picturing WebSocket that allows various scripts inside
a page to subscribe to the events happening on the server. I also
wanted to build client-side representation of the model objects on the
server in the same form as the @Export-ed data model, and allow
scripts to declare the properties that they need through the tree path
expression we use in */api --- when the subscribed event actually
happens the client gets the model that it asked for.
So if one script wants jobs[displayName,url] and another wants
jobs[url,result], at runtime we can mechanically combine them to be
jobs[displayName,url,result] and that's what the client gets.
I don't know much about Meteor if this is starting to sound like one.
Yeah, I think some form of push notification via something like
websockets/sockjs/comet is more appropriate than frequent polling...
lower load + better ux
--
You received this message because you are subscribed to the Google Groups "Jenkins
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.