Created 08-04-2016 02:07 PM
Is the Minimum File Age setting on a GetFile processor the only way to check if large files have been completely written to its directory?
Instead of using a timer, is there a way to ask for the current filesize attribute after I use GetFile? I was trying to use UpdateAttribtue/RouteOnStrategy processors to repeatedly check the filesize attribute until it's been completed.
Thanks
Created 08-04-2016 03:29 PM
Sharing some thoughts you could try. You may have option to use execute process which would fetch size from file and store size to local disk. Run the loop again and check new size against size stored to local disk. If size has not changed you can routeonstragegy thereafter.
Created 08-04-2016 03:29 PM
Sharing some thoughts you could try. You may have option to use execute process which would fetch size from file and store size to local disk. Run the loop again and check new size against size stored to local disk. If size has not changed you can routeonstragegy thereafter.
Created 08-04-2016 03:35 PM
Awesome, exactly what i'm looking for thank you -- i'll try that
Created 08-04-2016 04:17 PM
So the "command" property I would configure to fetch the current filesize of the file using unix commands?
then it would be written and stored to local disk?
Reading the documentation, it seems like it's used to provide path of an executable, but I don't have one to specify
Created 08-04-2016 05:29 PM
I would use the executeprocess processor. You would execute for example a python or shell script to do the logic I shared above. make sense?
Created 08-04-2016 07:51 PM
got it! thanks
Created 08-04-2016 07:01 PM
A common way to do this is to have the file written to ".filename" first and renamed to "filename" when done. This is why the GetFile processor File Filter property defaults to:
[^\\.]\.*
That regular expression says any filename that doesn't start with a period.
I realize you may not have control over how the files are being written to the directory though, so this may not be an option if you can't control that.