Shader does not update after changing path string parameter

I`m changing shader diffuse texture parameter,

shader = UsdShade.Shader.Define(self.stage, f'/World/Looks/OmniPBR/Shader')
shader.GetInput('diffuse_texture').Set(OUTPUT_PATH)

but the view-port show no change sometime ( inconsistently) .

how should i force the shader to update in the view-port ?

thanks !