So Ansible's happier in push mode, however, there are already some options, and you don't even need the cron approach above.
Look into "ansible-pull" which is suitable for wakeup on a crontab and will fetch down the latest of a playbook run.
(Also of interest -- callbacks in Ansible Tower -- which can be requested by cron via simple wget, and ask the server to push down it's latest content. This can be a great way to manage a fleet of image based cloud deployments that just need a refresh, or otherwise ephmeral or autoscaling systems -- but might not be for you)
In any case, assume you were using Ansible pull, use the --only-if-changed flag, and if the remote repo hasn't changed, it won't have any work to do.
Have it simply wakeup every 5 minutes and apply changes -- no listening and no server would be required.
Now, one thought is ansible-pull probably use a check to see if it's already running, to make that a bit easier -- that's one thing it currently doesn't do.
But yeah, we love that we don't have any daemons and don't need a standing server infrastructure -- it's more secure, there are less moving parts, and we'd like to keep it that way :)