Page 1 of 1

Multiple Input Watch folders issue

Posted: Thu Jul 07, 2016 4:09 pm
by kibi
I set up a workflow with two different Input processors:
07-07-2016 18-53-01.png
07-07-2016 18-53-01.png (17.08 KiB) Viewed 7261 times
Each Input Folder looks at its path in the file system and waits for *.avs files.
I set up the option at Workflow properties "Maintance / Remove original from history cache" to "TRUE".

But every time when new files appear in source folders I have to run "Clear history" function for both Input Folders to make them see new files.
Other workflows with single Input Folder seems to be OK.

Re: Multiple Input Watch folders issue

Posted: Thu Jul 07, 2016 7:18 pm
by admin
Hi again, Alexander and thanks for being a good bug reporter! :-)

I must admit I never quite became friends with this "Remove original from history cache" option. One of the problems with it is the possibilty of creating a loop where the workflow ends up picking up the same file over and over again. To avoid this one need to delete the original at some point. And when I decided some time ago that FFAStrans must never be in the business of deleting originals, the user has to do this themselves during the workflow. And because this must be optional, the "Remove original from history cache" option is somewhat kafkaesque: It does not work unless the the user creates a particular workflow, and FFAStrans can't make that presumption but will fail to work properly if it does not... sort of...

Anyway, I'm gonna revisit this option and see how can make it work properly without confusion, because it clearly has some advantages. Also, I don't think it's a multiple monitor issue.

-steinar

Re: Multiple Input Watch folders issue

Posted: Fri Jul 08, 2016 11:08 am
by kibi
My general approach is to send tasks (in form of files) to pipeline. Pipeline should do some work, and move the initial tasks to different folders - Processed, Failed and so on. That's why almost all workflows uses option to turn off history cache and has corresponding command executors to move tasks.

If I need more flexible logic to avoid double processing, I add Command Executor which makes the decision and sends back error codes.