This question already has an answer here:
Everywhere on the internet people are blogging/bragging about how smart contract can reinforce payment to musicians/content providers (on each usage (download, listening/clicking) of the content!!), but I don't see it happen at the technology level, especially after reading this answer. So is it really possible to trigger the contract through changes in real-life outside of the blockchain?
A broader question would be, what are the restrictions on the input data into the contract each time on execution? I could certainly imagine the aforementioned reinforcement be possible if each executing node were allowed to fetch input data from the internet, but there would arise at least two problems:
since the execution time can't always be the same throughout the network, such fetched input data can hardly be checked against forgery because a faked fetch is indiscernible from a fetch at another point in time. An agreement will then never be made.
if the input data is fetched constantly from another server, that server could have huge influence on the execution, should it be centralized.