Skip to content

ProcessLauncher

Akram El Assas edited this page Nov 26, 2024 · 2 revisions
<?xml version="1.0" encoding="utf-8" ?>
<Tasks>
  <!--
    ProcessLauncher is a sequential task that launches a process. If this process generates a file as output
    It is possible to pass a collection of files to the task so that for each file an output
    file will be generated through the process.
    
    The files generated are loaded in this task so that other tasks can select them through 
    the selectFiles option.
    
    This task is useful for transforming images or transcoding video and audio files.
  -->
  <Task id="$int" name="ProcessLauncher" description="$string" enabled="true|false">
    <!-- 
      The files loaded by the task having as id $taskId will be
      passed to the process command.
    -->
    <Setting name="selectFiles" value="$taskId" />
    <Setting name="selectFiles" value="$taskId" />
    <!-- You can add as many selecteFiles as you want.-->
    <!-- The process path. Example: C:\Program Files\VideoLAN\VLC\vlc.exe-->
    <Setting name="processPath" value="$string" />
    <!-- The process command.
         It is possible to lauch a process that does not generates files. In this case the generatesFiles option must be false.
         If this process generates a file as output, it is possible to pass the input file to
         the process commad through {$filePath} variable. The output file path can be set through the {$output} variable
         which is defined as follows: {$output:$fileNameWithoutExtension|$fileName[a-zA-Z0-9._-]*}
         If this process generates files as output, for each file loaded the process will be launxhed and
         the {$filePath} variable will be replaced by the file path of the loaded file and the {$output:$fileNameWithoutExtension|$fileName[a-zA-Z0-9._-]*}
         will be replaced by $JobTempFolder\$fileNameWithoutExtension|$fileName[a-zA-Z0-9._-]* where $JobTempFolder is the temp folder of the job.
         Each file generated will be loaded in this task so that other tasks can select it through the selectFiles option.
         Example: -I dummy {$filePath} :sout=#transcode{acodec=mpga}:std{dst={$output:$fileNameWithoutExtension.mp3},access=file} vlc://quit-->
    <Setting name="processCmd" value="$string" />
    <!-- true to hide the process GUI, false otherwise.-->
    <Setting name="hideGui" value="true|false" />
    <!-- true if this process generates a file as output, false otherwise.-->
    <Setting name="generatesFiles" value="true|false" />
    <!-- Optional and defaults to false. Indicates whether to load all the files generated in the temporary folder by the command or not.-->
    <Setting name="loadAllFiles" value="true|false" />
    <!-- Optional and defaults to false. Indicates whether to ignore exit code or not.-->
    <Setting name="ignoreExitCode" value="true|false" />
  </Task>
</Tasks>
  1. Install Guide
  2. HTTPS/SSL
  3. Screenshots
  4. Docker
  5. Configuration Guide
    1. Wexflow Server
    2. Wexflow.xml
    3. Admin Panel
    4. Authentication
  6. Persistence Providers
  7. Getting Started
  8. Android App
  9. Local Variables
  10. Global Variables
  11. REST Variables
  12. Functions
  13. Cron Scheduling
  14. Command Line Interface (CLI)
  15. REST API Reference
    1. Introduction
    2. JWT Authentication
    3. Sample Clients
      1. C# Client
      2. JavaScript Client
      3. PHP Client
      4. Python Client
      5. Go Client
      6. Rust Client
      7. Ruby Client
      8. Java Client
      9. C++ Client
    4. Security Considerations
    5. Swagger
    6. Workflow Notifications via SSE
      1. C# SSE Client
      2. JavaScript SSE Client
      3. PHP SSE Client
      4. Python SSE Client
      5. Go SSE Client
      6. Rust SSE Client
      7. Ruby SSE Client
      8. Java SSE Client
      9. C++ SSE Client
    7. Endpoints
  16. Samples
    1. Sequential workflows
    2. Execution graph
    3. Flowchart workflows
      1. If
      2. While
      3. Switch
    4. Approval workflows
      1. Simple approval workflow
      2. OnRejected workflow event
      3. YouTube approval workflow
      4. Form submission approval workflow
    5. Workflow events
  17. Logging
  18. Custom Tasks
    1. Introduction
    2. General
      1. Creating a Custom Task
      2. Wexflow Task Class Example
      3. Task Status
      4. Settings
      5. Loading Files
      6. Loading Entities
      7. Need A Starting Point?
    3. Installing Your Custom Task in Wexflow
      1. .NET Framework 4.8 (Legacy Version)
      2. .NET 8.0+ (Stable Version)
      3. Referenced Assemblies
      4. Updating a Custom Task
      5. Using Your Custom Task
    4. Suspend/Resume
    5. Logging
    6. Files
    7. Entities
    8. Shared Memory
    9. Designer Integration
      1. Registering the Task
      2. Adding Settings
    10. How to Debug a Custom Task?
  19. Built-in Tasks
    1. File system tasks
    2. Encryption tasks
    3. Compression tasks
    4. Iso tasks
    5. Speech tasks
    6. Hashing tasks
    7. Process tasks
    8. Network tasks
    9. XML tasks
    10. SQL tasks
    11. WMI tasks
    12. Image tasks
    13. Audio and video tasks
    14. Email tasks
    15. Workflow tasks
    16. Social media tasks
    17. Waitable tasks
    18. Reporting tasks
    19. Web tasks
    20. Script tasks
    21. JSON and YAML tasks
    22. Entities tasks
    23. Flowchart tasks
    24. Approval tasks
    25. Notification tasks
    26. SMS tasks
  20. Run from Source
  21. Fork, Customize, and Sync
Clone this wiki locally