Job Processor

Overview

The image shows how powerJobs Processor works on the JobProcessor side, and what processes are involved.

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:

../_images/pj-extended-jobprocessor.png

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:

1
2
3
4
5
6
7
8
9
{
	"Trigger":
	{
		"TimeBased": <string>,
		"Vault": <string>,
		"Priority": <integer>,
		"Description": <string>
	}
}

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
	"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"
	}
}