Part of the app to be defined :background

Hi!

I have a general and a particular question regarding the background process

General question: Which parts of a an app have to be defined with :background? I know that it sounds quite general but if I want to trigger some funtions of my app (like updating my server information) in the background, do I need to define in the background the whole app or just the function that has to "keep running"? 
Particular question: My idea is that I need each 5 hours to check if there is a change in my server with makeWebRequest and, if the answear is "true" to show a message with "A player is requesting you to play, Open the Battle Steps App to see it?". And use Background.requestApplicationWake is the answer is yes. Do I need to define the whole app in :background? the Application.AppBase, etc? 
Does this type of background process consume a lot of battery?
Hope it is clear the question.
Thanks!