TCPClient or SparkCloud ? - battery consume

What is the best solution reacting to remote-data?
Doing a TCP-request via TCPClient to my RemoteServer every X seconds (without using the SparkCloud), or should this better be done by pushing a value from my RemoteServer over the SparkCloud to a function through a cronjob?

Both would work fine, but maybe its better for the battery (and more stable) to “push” a value in the SparkCloud?
What do you think?

The best way to get good battery performance is to put the Core to sleep. Therefore your TCP request version is probably the better option.