Use the PHASE_POST_COMMIT
Perhaps it would be better to use
CRM_Core_Transaction::addCallback(CRM_Core_Transaction::PHASE_POST_COMMIT,
'<class::method>', $callBackParams);
instead of running straight of the post hook to make sure the complete transaction has run before the civirules triggers.
Edited by ErikHommel