I want it to fire when ever the post is changed so I have to use the publish_post hook That isn't the problem - what I'm finding is that for some reason on some installs the
call causes my function to be called multiple times during a single actual publish / update (usually within a few seconds of each other) and putting individual hooks in place (including publish_to_publish) doesn't solve the problem. And its that multiple firing that I need to stop. The Codex for the publish_post hook states:
'Runs when a post is published, or if it is edited and its status is "published". Action function arguments: post ID. '
Which is exactly what I need - I just need to make sure it only fires once.