The situation you are describing tends to lean more toward utilizing a TRIGGER rather than a Monitor or Scheduled Job.
This activates on the event "Successful Upload". Meaning, as soon as the full file has been received, it can trigger a WorkFlow action for processing/moving, etc.
This option does allow you to pass the file path and name to your project. Thus, making sure you process specifically the file that was just uploaded. Conditions can be set to make sure you're grabbing files that are needed for processing.
There is a system alert for Triggers allowing you to be notified if something doesn't run.
Also, you have the option of utilizing the Parent Directory of the file uploaded to go back and retrieve "all" files from that location (including the one that was just uploaded) .. thus, making sure you retrieve the files that have triggered the movement as well as anything that happened to have been missed.
This would be a much cleaner and smoother way to process the files like you are describing.