User Tools

Site Tools


workflows:workflow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
workflows:workflow [2020/01/22 21:44] – [Special Tab] benjaminworkflows:workflow [2024/01/28 10:16] (current) benjamin
Line 1: Line 1:
-====== Workflow General information======+====== Workflow General information ======
  
-This page should describe all "basic workflow information around workflows, e.g. branching behaviour etc...+This page should describe detailed background information around workflows, e.g. branching behaviour etc...
  
 ===== File Flow ===== ===== File Flow =====
-{{:workflows:workflow_file_flow.png?400|}}+{{gallery>:workflows:workflow_file_flow.png?500x260&1500X1500&lightbox}}
  
 ===== Workflow Properties ===== ===== Workflow Properties =====
Line 17: Line 17:
 |**Workflow ID**|Shows the ID of the workflow. This is automatically generated and cannot be changed by the user.| |**Workflow ID**|Shows the ID of the workflow. This is automatically generated and cannot be changed by the user.|
 |**Sleep timer**|Here you set the loop for how many seconds FFAStrans should wait for the workflows monitors to start looking for new files. In workflows without monitors this setting as no effect.| |**Sleep timer**|Here you set the loop for how many seconds FFAStrans should wait for the workflows monitors to start looking for new files. In workflows without monitors this setting as no effect.|
-|**Priority**|This sets the workflow priority. This is NOT a CPU priority but rather job run order priority. The higher priority jobs will be processed before lower priority jobs. However, already started lower priority jobs will not stop or pause if higher priority jobs is queued. \\ __//**Note**//__: Jobs manually submitted from the GUI will always have the highest priority. Jobs submitted through the API will use the default workflow priority unless specified different in the job post.|+|**Cron**|Monitoring for new files support the Cron notation for more complex scheduling. Please consult https://en.wikipedia.org/wiki/Cron for more info or see the graph below table| 
 +|**Priority**|This sets the workflow priority. This is NOT a CPU priority but rather job run order priority. [[system:processes#priority_flow_chart_and_example|The higher priority jobs will be processed before lower priority jobs]]Lower priorities jobs will be paused if higher priority job is starting \\ __//**Note**//__: Jobs manually submitted from the GUI will always have the highest priority. Jobs submitted through the API will use the default workflow priority unless specified different in the job post.|
 |**Timeout level**|Defines how quick FFAStrans will abort jobs that seem to have stopped for various reasons. Usually due to encoding/decoding hangups. The lower the number the faster FFAStrans will abort. When working with very large files you might need to set this higher.| |**Timeout level**|Defines how quick FFAStrans will abort jobs that seem to have stopped for various reasons. Usually due to encoding/decoding hangups. The lower the number the faster FFAStrans will abort. When working with very large files you might need to set this higher.|
 |**Run on**|Here you can set on what week day on which the workflows monitors will be active. \\ __//**Note**//__: Regardless of this setting and the workflow state, one can always submit jobs either manually from the GUI or through the API.| |**Run on**|Here you can set on what week day on which the workflows monitors will be active. \\ __//**Note**//__: Regardless of this setting and the workflow state, one can always submit jobs either manually from the GUI or through the API.|
-   +\\  
 +\\ 
 +{{gallery>:workflows:cron.png?600x200&1500X1500&lightbox}} 
 \\ \\
 \\ \\
Line 28: Line 31:
 |**Keep all job work folders on completion**|Enabling this option will prevent FFAStrans from deleting all the files and work folders it creates for jobs. \\ __//**Note**//__: You should avoid enabeling this as the it may fill up your storage. Use only for debugging.| |**Keep all job work folders on completion**|Enabling this option will prevent FFAStrans from deleting all the files and work folders it creates for jobs. \\ __//**Note**//__: You should avoid enabeling this as the it may fill up your storage. Use only for debugging.|
 |**Keep only failed job work folders**|Enabling this option will prevent FFAStrans from deleting the work folders for failed jobs. \\ __//**Note**//__: In this regard, a job is considered failed only if the last executing branch has failed outcome.| |**Keep only failed job work folders**|Enabling this option will prevent FFAStrans from deleting the work folders for failed jobs. \\ __//**Note**//__: In this regard, a job is considered failed only if the last executing branch has failed outcome.|
-|**Cleanup time**|Here you can set the time of day on which FFAStrans will perform cleanup of cachefile. This option may disappear in future versions.| 
 |**Validate records after <n> days**|This option tells FFAStrans how many days it should "remember" what files it has processed. If a file has been registered longer than the number of days specified, AND the original file is gone, the file record will be removed. If the file comes back after removal, FFAStrans will see it as a new file.| |**Validate records after <n> days**|This option tells FFAStrans how many days it should "remember" what files it has processed. If a file has been registered longer than the number of days specified, AND the original file is gone, the file record will be removed. If the file comes back after removal, FFAStrans will see it as a new file.|
 |**Keep work files for <n> days**|This option tells FFAStrans how many days it should keep the work folders for each job.| |**Keep work files for <n> days**|This option tells FFAStrans how many days it should keep the work folders for each job.|
Line 38: Line 40:
 ^**Setting**^Description| ^**Setting**^Description|
 |**Host**|The host to add to the list. Default is the current host. You can insert any host on the list. The hosts will not be validated so you must write the correct name for the host.| |**Host**|The host to add to the list. Default is the current host. You can insert any host on the list. The hosts will not be validated so you must write the correct name for the host.|
-|**Add**|Add the host to the list.| +|**Add host**|Add the host to the group.| 
-|**Remove**|Removes selected host(s) from the list.| +|**Add group**|Add the hosts group to the list (For more information about groups, see below the table).| 
-|**List includes hosts**|Option tells the workflow that the hosts on the list will take part of the workflow jobs.| +|**Remove**|Removes selected host(s) or selected group(s) from the list.| 
-|**List excludes hosts**|Option tells the workflow that the hosts will NOT take part of the workflow jobs.|+|**List includes hosts/groups**|Option tells the workflow that the hosts (or groups) on the list will take part of the workflow jobs.| 
 +|**List excludes hosts/groups**|Option tells the workflow that the hosts (or groups) will NOT take part of the workflow jobs.| 
 +\\
  
 __//**Note**//__: An empty list makes all the host participate in the workflow jobs regardless of the two latter options. __//**Note**//__: An empty list makes all the host participate in the workflow jobs regardless of the two latter options.
Line 52: Line 56:
 |**Protect workflow**|Here you can protect you workflow with a password. Note that this is not a foolproof protection. It's purpose is to make sure your workflow has a basic protection so it's not easily tampered with.| |**Protect workflow**|Here you can protect you workflow with a password. Note that this is not a foolproof protection. It's purpose is to make sure your workflow has a basic protection so it's not easily tampered with.|
 |**Force 32bit dependencies**|Force FFAStrans to use only 32 bit versions of all dependencies like FFMpeg and AviSynth. This option will override all other 64 bit settings in any workflow nodes.| |**Force 32bit dependencies**|Force FFAStrans to use only 32 bit versions of all dependencies like FFMpeg and AviSynth. This option will override all other 64 bit settings in any workflow nodes.|
-|**Create start TC from Exif data**|This option will try and create a valid start timecode based on the exif metadata field "Date and time (original)". This is an alternative for some media coming from cameras that don't have a real TC track.| 
  
 ---------------------------------------------------- ----------------------------------------------------
- 
-===== FUNCTIONS ===== 
-\\ 
-\\ 
-Functions lets you manipulate strings and/or numbers to fit your needs.\\ 
-__Usage description__:\\ 
-   $function(input-1 = "string", input-2 = integer[, optional input-3 = "string"/integer]) 
- \\ 
-  * ALL string inputs containing alphabetic characters (a-z, A-Z) must be encapsulated with single or double quotes: "my string", '123abc', "%s_variable%", '%i_variable%'. 
-  * Functions that accept numbers do not need to be encapsulated with quotes. 
-  * If numeric character(s) (0-9) are used in functions that accept strings then the number will be treated as a string: 123 = "123" 
-  * All functions can be nested (functions within functions):$replace($left("my strings", 6), "my", "your") = "your str" 
-  * Nested function must NOT be encapsulated with quotes.See [[functions:character_string_functions#Nested Functions|Nested Functions]] 
-==== Character String Functions ==== 
-|< 100% 20% 80% >| 
-|[[character_string_functions#$left vs $triml|$left]]|Get string n-characters from the left side.| 
-|[[character_string_functions#$left vs $triml|$triml]]|Trim string n-characters from the left side.| 
-|[[character_string_functions#$right vs $trimr|$right]]|Get string n-characters from the right side.| 
-|[[character_string_functions#$right vs $trimr |$trimr]]|Trim string n-characters from the right side.| 
-|[[character_string_functions#$middle vs $between |$middle]]|Get string n-characters from n-position.| 
-|[[character_string_functions#$middle vs $between |$between]]|Get string between two strings.| 
-|[[character_string_functions#$upper vs $lower and $proper|$upper]]|Force string to upper case.| 
-|[[character_string_functions#$upper vs $lower and $proper |$lower]]|Force string to lower case.| 
-|[[character_string_functions#$upper vs $lower and $proper |$proper]]|Capitalizes every first letter following a non-alphanumeric character.| 
-|[[character_string_functions#$replace and $alrep |$replace]]|Replace string in string.| 
-|[[character_string_functions#$replace and $alrep |$alrep]]|Replace all non-alphanumeric characters and add optional exceptions.| 
-|[[character_string_functions#$leads vs $trails |$leads]]|Add leading character(s) to a string. If string to fill is omitted a zero (0) will be used.| 
-|[[character_string_functions#$leads vs $trails |$trails]]|Add trailing character(s) to a string. If fill-string is omitted a zero (0) will be used.| 
-|[[character_string_functions#$stripws and $stripcrlf |$stripws]]|Removes leading and trailing white spaces.| 
-|[[character_string_functions#$stripws and $stripcrlf|$stripcrlf]]|Strips string for line feed and carriage returns.| 
-|[[character_string_functions#$isdigit and $alpha|$isdigit]]|Check if string is only numbers. Success returns 1, failure returns 0.| 
-|[[character_string_functions#$isdigit and $alpha |$isalpha]]|Check if string is only alphabetic letters. Success returns 1, failure returns 0.| 
-|[[character_string_functions#$length and $reverse |$length]]|Retrieves length of the string (number of characters).| 
-|[[character_string_functions#$length and $reverse |$reverse]]|Reverse a string.| 
- 
- 
-==== Mathematics Functions ==== 
- 
-|< 100% 20% 80% >| 
-|[[mathematics_functions#$round and$roundd vs $roundu|$round]]|Round number to nearest decimal.| 
-|[[mathematics_functions#$round and$roundd vs $roundu |$roundd]]|Round number down to nearest integer.| 
-|[[mathematics_functions#$round and$roundd vs $roundu |$roundu]]|Round number up to nearest integer.| 
-|[[mathematics_functions#$inttotc vs $tctosec |$inttotc]]|Convert integer to time code.| 
-|[[mathematics_functions#$inttotc vs $tctosec |$tctosec]]|Convert time code to seconds.| 
-|[[mathematics_functions#$abs, $log and $random |$abs]]|Returns the absolute value of a number.| 
-|[[mathematics_functions#$abs, $log and $random |$log]]|Returns the natural logarithm of a number.| 
-|[[mathematics_functions#$abs, $log and $random |$random]]|Returns a random integer number between two integers.| 
- 
- 
-==== Other Functions ==== 
- 
- 
-|< 100% 20% 80% >| 
-|[[other_functions#$exists|$exists]]|This is a file function that will tell if file(s) exists.| 
-|[[other_functions#$base64|$base64]]|Encodes the input string as base 64.| 
-|[[other_functions#$jsonencode and $jsonget|$jsonencode]]|Converts the input string to an JSON friendly string.| 
-|[[other_functions#$jsonencode and $jsonget|$jsonget]]|Retrieves the value from a JSON object key.| 
-|[[other_functions#$readarray|$readarray]]|Returns an instance from a valid array; "[data, data, etc...]".| 
-|[[other_functions#$regext|$regext]]|This is regular expression function. It extracts text based on recognition patterns.| 
-|[[other_functions#$hex and $dec|$hex]]|Converts a decimal integer to hexadecimal number.| 
-|[[other_functions#$hex and $dec|$dec]]|Converts a hexadecimal number to decimal integer.| 
-|[[other_functions#$guid|$guid]]|Returns a random GUID/UUID.| 
-|[[other_functions#$xxhash|$xxhash]]|Returns an eight character hash for any file.| 
-|[[other_functions#$read|$read]]|Reads the contents of a any text file.| 
-|[[other_functions#$urlencode|$urlencode]]|Converts the input string to an URL friendly string.| 
- 
- 
----------------------------------------------- 
  
 <html>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</html>[[workflows:workflow|Back to top]] <html>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</html>[[workflows:workflow|Back to top]]
workflows/workflow.1579729446.txt.gz · Last modified: 2020/11/16 19:08 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki