結局、以下のように処理を分けることで思う通りに動作しました。
function my_function_futre_post(){
予約投稿時の処理
}
add_action('publish_future_post', 'my_function_futre_post',10,2);
function my_function_post(){
予約投稿以外の時の処理
}
add_action('new_to_publish', 'my_function_post',10,2);
add_action('pending_to_publish', 'my_function_post',10,2);
add_action('private_to_publish', 'my_function_post',10,2);
add_action('auto-draft_to_publish', 'my_function_post',10,2);
add_action('draft_to_publish', 'my_function_post',10,2);
add_action('publish_to_publish', 'my_function_post',10,2);