Hello,

Have you tried something like this..

<script>
var auto_refresh = setInterval(
function()
{
var timestamp = new Date().getTime();
$('#loaddiv').load('statusbox.load');
$('#threshpng').html('<img src="/myapp/default/
dataThreshPlot.png?'+timestamp+'">');
}, 5000);

</script>
<div id="loaddiv">loading...</div>
<div id="threshpng">png loading</div>


Best regards,
Oleg


On Nov 17, 9:08 am, G <[email protected]> wrote:
> Hello,
> This looks like an interesting idea, I am interested in using
> something like this in the future. For my immediate needs, I don't
> mind having the client poll the server at regular intervals (every 10
> seconds for example). As a last resort, I am using a <meta http-
> equiv="refresh" content="10"> statement, but it seems like there must
> be a better way with ajax/jquery load and setInterval.
> Thanks for the pointer,
> G
>
> On Nov 16, 11:35 pm, dederocks <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hello,
>
> > I guess this could be solved by implementing the APE (ajax-push)
> > technology mentionned the other day by 
> > Michele:http://www.ape-project.org/ajax-push.html.
> > I'm working on it to see if this can be used to remotely control a
> > webcam and send back pictures in real time.
> > BR, André
>
> > On 16 nov, 22:19, G <[email protected]> wrote:
>
> > > Hello,
> > > I read the slides and checked out the app, and it's great to see more
> > > matplotlib/web2py examples. However, this does not address my use of
> > > web2py for dynamically monitoring a system, which I am having some
> > > trouble with. For example, suppose you wanted to create a "master
> > > view" for your double-slit application, which would present a page
> > > where each time someone ran a new double slit experiment with the
> > > application, the page would update and show some plots from the result
> > > of the double slit. Or perhaps some real-time statistics about all of
> > > the experiments run so far. How would you implement something like
> > > that? The code I posted below seems like it should work for this sort
> > > of real time monitoring, but as I mentioned, I cannot get the images
> > > to dynamically update.
>
> > > I appreciate any suggestions anyone has.
> > > Thanks,
> > > G
>
> > > On Nov 16, 10:17 am, mdipierro <[email protected]> wrote:
>
> > > > I just gave a talk at Supercomputing about it. I will post the app and
> > > > slides later today.
>
> > > > On Nov 16, 10:06 am, G <[email protected]> wrote:
>
> > > > > Hello again,
> > > > > Is anyone else using matplotlib to generate dynamic plots for use with
> > > > > web2py. Any pointers on a better way to do it that will allow dynamic
> > > > > refreshing?
> > > > > Thanks for any help,
> > > > > G
>
> > > > > On Nov 14, 3:42 pm, G <[email protected]> wrote:
>
> > > > > > Hello,
> > > > > > I am using web2py to monitor and control an instrument. I am
> > > > > > dynamically generating plots using matplotlib following the DNA
> > > > > > application example from SC2009 
> > > > > > (http://www.web2py.com/examples/static/
> > > > > > sc/sc_dna_talk.pdf)
>
> > > > > > I was able to get the basic aspects working based on that example.
> > > > > > However, I want to automatically display new plots as new data is
> > > > > > available. I am using the following code in the view:
>
> > > > > > <script>
> > > > > > var auto_refresh = setInterval(
> > > > > > function()
> > > > > > {
> > > > > > $('#loaddiv').load('statusbox.load');
> > > > > > $('#threshpng').html('<img 
> > > > > > src="/myapp/default/dataThreshPlot.png">');}, 5000);
>
> > > > > > </script>
> > > > > > <div id="loaddiv">loading...</div>
> > > > > > <div id="threshpng">png loading</div>
>
> > > > > > The statusbox.load generates a table with some statistics about the
> > > > > > data, and this successfully updates every 5 seconds as desired.
> > > > > > However, the dataThreshPlot never gets refreshed, only the initial
> > > > > > version is displayed. (a timestamp is written to the plot when it is
> > > > > > generated so I can verify this fact).
>
> > > > > > If I simply browse to 
> > > > > > localhost:8000/myapp/default/dataThreshPlot.png
> > > > > > the plot is properly generated and displayed each time I refresh the
> > > > > > page.
>
> > > > > > I have tried adding this code to the dataThreshPlot function in the
> > > > > > controller:
>
> > > > > > response.headers['Expires'] = time.strftime("%a, %d %b %Y %H:%M:%S
> > > > > > +0000", time.gmtime(time.time()+1))
>
> > > > > > to try to avoid caching, but still no luck.
>
> > > > > > I also tried making a very simple controller function as follows:
>
> > > > > > def dataThreshPage():
> > > > > >     return dict(threshim= URL(r=request,f=dataThreshPlot))
>
> > > > > > and view:
> > > > > > <img src={{=threshim}}>
>
> > > > > > and tested that localhost:8000/myapp/default/dataThreshPage  
> > > > > > presents
> > > > > > the plot as expected.
>
> > > > > > I then modified the jquery refresh code to:
>
> > > > > > <script>
> > > > > > var auto_refresh = setInterval(
> > > > > > function()
> > > > > > {
> > > > > > $('#loaddiv').load('statusbox.load');
> > > > > > $('#threshpng').load('/myapp/default/dataThreshPage');}, 5000);
>
> > > > > > </script>
> > > > > > <div id="loaddiv">loading...</div>
> > > > > > <div id="threshpng">png loading</div>
>
> > > > > > but still no luck.
>
> > > > > > Any suggestions for how to get these plots to refresh?
> > > > > > Thank you,
> > > > > > G

Reply via email to