I wrote a bash script to automate the clearing of cache and restarting of the calendar app that works great for me, maybe it can help someone else that ends up here (since this is one of the first google results for "osx calendar stuck updating"). Save it as "calendar_reset.sh" in any text editor, make it executable, and run:
#!/bin/bash
if [ "$(ps -ax | grep -c /Applications/.*/Calendar)" -gt "1" ] ; then
killall Calendar
echo "Calendar process killed, clearing cache files"
else
echo "Calendar not running, clearing cache files"
fi
if [ -a "~/Library/Preferences/com.apple.iCal.plist" ] ; then
rm "~/Library/Preferences/com.apple.iCal.plist"
echo "Removed ~/Library/Preferences/com.apple.iCal.plist"
fi
find "${HOME}/Library/Calendars" -iname "*Cache*" -maxdepth 1 | while read CACHE ; do
rm "${CACHE}"
echo "Removed ${CACHE}"
done
/Applications/Calendar.app/Contents/MacOS/Calendar &
echo "Calendar restarted, carry on"