I am running GObject.timeout_add_seconds(sec_to_refresh, self.emit_refresh)
Nope it does not work even when I call self.emit_refresh() immdiately. 
I removed time-changed signal. I am calling time_changed() method from the preference.py