# Job Processor ```{toctree} :glob: :hidden: jobprocessor/* ``` ## Overview ```{image} /img/jobprocessor/powerjobs_overview.png :alt: The image shows how powerJobs Processor works on the JobProcessor side, and what : processes are involved. :width: 1200px ``` ## Extended JobProcessor UI powerJobs Processor has its own executable, the powerJobs.exe. It automatically loads the Autodesk Vault JobProcessor and provides additional features.\ You can still start the JobProcessor through the Autodesk Vault JobProcessor.exe but we recommend to use the powerJobs.exe.\ In the powerJobs Processor Toolbar you can find the *About Dialog* and the link to the *Online Help*. The following features are only supported using the **powerJobs.exe:** - [Job Processor]() - [Overview]() - [Extended JobProcessor UI]() - [Trace Window]() - [Job Synchronization]() - [Restriction Checks]() - [Time Triggered Jobs]() - [Setting Files]() - [Example]() ```{image} /img/jobprocessor/pj-extended-jobprocessor.png :width: 700px ``` ### Trace Window The trace window is a developer tool for the powerJobs Processor.\ It gives you the possibility to log debug information without the need to open the log file every time.\ What is getting logged is configurable in the [powerJobs Processor.log4net]() file. ### Job Synchronization At every start of the application the Jobs placed in the folder "*C:\\ProgramData\\coolOrange\\powerJobs*" are getting synchronized with the *powerJobs Processor.vcet.config* file to support the Jobs within the Job Processor.\ For further information see [Registered job types](). ### Restriction Checks At every execution of *powerJobs.exe*, it checks if the current Windows user has enough permissions to execute and synchronize jobs properly.\ If the user has not enough rights then the powerJobs Processor can not be started. In the log file will be written in detail what rights are missing on which path. ### Time Triggered Jobs Allow specific jobs to be triggered at certain times repeatedly. A separate settings file is used to specify when and how the job is added to the job queue. #### Setting Files In the folder *%ProgramData%\\coolOrange\\powerJobs\\Jobs* create a text file with exactly the same name as your job, but with the file extension *.settings* instead of *.ps1*.\ The settings file is written in [json]() format . - **TimeBased**: A [cron]() expression that encodes the interval - **Vault**: The name of the Vault database, the job should be triggered for - **Priority**: Vault job priority - **Description**: Vault job description Syntax: ```{code-block} javascript :linenos: { "Trigger": { "TimeBased": , "Vault": , "Priority": , "Description": } } ``` Restart powerJobs Processor to make the changes effective. :::{note} powerJobs Processor can trigger a job only if the same job isn't already pending in the job queue. ::: #### Example Triggering the job *coolOrange.powerJobs.CreatePdfAsAttachment* every weekday at 8 AM for the vault "Vault" with job priority 10:\ In this example the settings file has to be named *coolOrange.powerJobs.CreatePdfAsAttachment.settings* ```{code-block} javascript :linenos: { "Trigger": { // The cron expression for the interval. http://www.cronmaker.com/ can be used to generate the desired expression. // every weekday at 8 AM: 0 0 8 ? * MON,TUE,WED,THU,FRI * "TimeBased": "0 0 8 ? * MON,TUE,WED,THU,FRI *", // This job will be queued for the vault with the name "Vault" "Vault":"Vault", // And this two parameters are optional and self explaining: "Priority":10, "Description":"This job is triggered weekdays at 8:00 am" } } ```