Take a look at Event Driven Execution (I think it is still called that in version 9) - you can make a HTTP post to QVS and trigger a reload task. You can also query QVS/Pub and it will tell you the status of the job.
I haven't got the code to hand but search for EDX on here and you should find some examples.
I have implemeted EDX and it is straightforward. Our scheduling system tells QVS when to reload the documents. The call is made in a VBScript file, that is called from a .bat. The VBS passes an errorlevel back to the batch file, and this is what tells us if the job has finished with success or failure. the batch file is only required as that is what our scheduling system requires. you can of course run the VBs in any way you wish. I also think there is a .Net way of doing the same thing as well.