Invalidate getMyRandomProvider then create new MyRandom from getMyRandomProvider. It is simple, it can work with a thread to update random values, and widgets rebuild when a new data is provided.
Add widget to homepage. Two widgets shows same (random) data, and just one request recorded on API server. It's good.
Read steps for more details.