To answer your question anyways:
It depends on your usecase, if the data does not need to be up to date to the minute you should use workmanager so the system can schedule the update to when its convenient.
A service would only be required if you need to update the data in the background and at a very specified time (not for example once a day, no matter when).
GlobalScope should only rarely be the answer, you should rather use MainScope but that would probably wrong too, since even the MainScope will only live as long as the app is running.