Grid Periodic Updates

I’m using Flow (specifically 10) and I need to use a Grid as a dashboard updated with the lastest data every 30 minutes, so I need to update the Grid and Provider with that data on that schedule.
I have found documentation describing this process using either Push or Polling but I’m not seeing similar documentation and examples with Flow. Is the same process still avalable? If so, can someone provide an example using Flow.

Thanks,
Mel

In my case I needed to update a textfield…
What I did was to create a Thread with a wait of x secs that updates the corresponding textfield.
I guess you need to do something like that and call the dataProvider.refreshAll(); at the Grid…

 public static TimerUpdaterThread thread;
 private TextField menuHeader = new TextField();
 ...
 ...
  @Override
    protected void onAttach(AttachEvent attachEvent) {
    	super.onAttach(attachEvent);
        // Start the data feed thread
    	thread = new TimerUpdaterThread(attachEvent.getUI(), menuHeader);
    	thread.start();
    }
	
  @Override
    protected void onDetach(DetachEvent detachEvent) {
        // Cleanup
    	if(thread != null) {
    		thread.wakeupToDie();
    		thread.interrupt();
    	    thread = null;
    	}
    }
 ...
 ...
  static class TimerUpdaterThread extends Thread {
    	private final UI ui;
    	TextField menuHeader;
    	private boolean isAlive = true;
    	
    	public TimerUpdaterThread(UI ui, TextField menuHeader) {
    		this.ui = ui;
    		this.menuHeader = menuHeader;
    	}
    	
    	@Override
    	public void run() {
    		while(isAlive) {
    			try {
    				ui.access(()->{
        				menuHeader.setValue(System.currentTimeMillis());
        			});		
    			}catch(Exception e) {}
    			
    			rest(60000);
    		}
    	}

    	public boolean getAlive() {
    		return isAlive;
    	}
    	
    	synchronized void rest(long x) {
    		try {
    			this.wait(x);
    		}
    		catch (Exception e) {}
    	}
    	
    	synchronized void wakeupToDie() {
    		isAlive = false;
    		this.notify();
    	}
    }

I use polling:

 UI.getCurrent().setPollInterval(30000);
 register = UI.getCurrent().addPollListener(e -> goRefresh());

and turn it off when the user leaves the page:

@Override
public void beforeLeave(BeforeLeaveEvent event) {
	// Turn off  Refresh
	if (register != null) {
		register.remove();
	}
}

I could not get Nick’s method to work with the version I’m using - 10.0.13 - but Polling works like a charm!
Thanks for you both for the replies and help!
Mel