A quick and dirty solution would be to use a
Event handler access in Blender.
cursorLoc = bpy.context.scene.cursor_location
# do something
Run the script once, then your function will be called as soon as the scene updates.
This is highly inefficient and will affect the performance depending on the design of the script. It provides an easy solution though and Blender was always fast enough for me to not notice a difference.