How can you offer entire between the file has been deleted and the file doesn't exist ?The difference between proposed idea and current solution is that 3 minutes later, another attempt would be made to delete the file. If it's unsuccessful again, skip and move on. And on and on. Like I said, there would be a button in the GUI to clear out the history file to avoid leaving these jobs in the queue forever. So if you move files around outside of MCEBUddy or monitored folders are renamed or mapped drive changes letter, user would just use "Clean history file" button and all records for attempts will be deleted.
-> I dont quite understand.
Let say the network is disconnected for some reason. There is no way to tell whether the function deleted or could not delete.
-> This is true.
Hence the timer would keep trying to deleted already deleted file and get into an finite loop. Did I miss something here?
->Single run would run same as it does now. Attempt to delete the file - if file isn't present - skip and move on.
Plus automated mechanism could be added later to clean up the queue of attempts in the history file. Just like now there is a GUI for monitored folders and how old the file has to be to be picked up by MCEBuddy, there could be same GUI for how OLD the entry in the history file has to be for attempts to be made. So for example, if set up "keep trying for 7 days" for 7 days attempts will be made, and after 7 days MCEBuddy would ignore entries older than 7 days in the history file.
Workflow would be:
1, User delete source file -> MCEBuddy attempt to delete destination file
2a,File found and delete -> nothing is written to history file.
2b, File is NOT found therefore not delete -> write date, path and instruction to the history file.
3, X minutes later, history file is parsed and instruction is attempted
3a, if unsuccessful = do nothing and try again in X minutes
3b, if successful = delete entry from history file so operation is not made again.
4, Users presses "Clean history file" button = all entries in the history file are deleted.
Advanced workflow would be the same except ...
........
2b, File is NOT found therefore not delete -> write date, path and instruction to the history file.
3, X minutes later, history file is parsed and instruction is attempted IF it's within date range set up by the user
3a, if unsuccessful = do nothing and try again in X minutes IF it's within date range set up by the user.
3b, if successful = delete entry from history file so operation is not made again.
4, Users presses "Clean history file" button = all entries in the history file are deleted.
I hope this make sense. I've put alot of thought into this as you can tell :-) This way user can have VERY much automated iTunes/Plex/XBMC library of recordings or low/high quality of video clips. Once source is delete - destination will be guaranteed to be deleted ( of course unless user hasnt messed up path - which is imposible to code for )