About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

In Primavera P6, many of the functionality requires time to complete, say more than 8 seconds. Oracle Primavera predefined these types of long-running functionality as a job which runs in the background. For example, copy and paste Projects. The time required to copy, and paste projects is depending on the number of projects, project size etc., so performing this task as a background job is an efficient method so the user doesn’t need to wait till the paste operation completes. Below I have mentioned some of the Primavera jobs 

 

  1. Schedule a project(‘s)
  2. Summarize a project or EPS
  3. Apply Actuals
  4. Export an XER file
  5. Import a Project from XML
  6. Export a Project to an XML
  7. Initiation Synchronization
  8. Copy Project
  9. Generate PM Report
  10. Store Period Performance
  11. Create Baseline for a Project
  12. Publish Project
  13. Send to Unifier

 

An example scenario how the P6 job works

 

Below I have explained an example scenario about how a Job created, processed and finished by Primavera P6

 

1. User Copy a Project in Primavera P6

2. A record inserted into the JOBSVC table with JOBTYPE = CopyProject and STATUS_CODE = PENDING

3. The job server in P6 web picks the record and start processing and update the STATUS_CODE = RUNNING

4. Meantime, user can perform other activities in P6 and see the status of the Job in VIEW SERVICE STATUS page 

5. The P6 Job Server in P6web updates the STATUS_CODE = COMPLETED/FAILED status once it done. The same status can be shown in the view service status. 

 

Where is the P6 Job Server available?

 

The P6 Job Server is available in all the below Job modules

 

1. P6.ear (P6 Web Application)

2. Primavera Integration.Ear (P6 Integration API Server)

3. intgserver.ear (P6 Integration API )

4. P6services.jar (P6 Job Server)

5. p6ws.ear (Primavera Web Services)

 

P6 Job Server Configuration

 

 

The primavera admin config lists all the P6 job services. We can see and tune each p6 jobs by opening  the P6 admin config > Expand the Configuration used by the p6 modules > Expand services >>Expand each job service and configure the setting

 

022618_0337_AboutPrimav1 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

Here, I have expanded the Scheduler job and I can tune as below 

 

022618_0337_AboutPrimav2 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

Interval => P6 scheduler wait for 10s second before running the next job

 

Concurrent Threads => 2 Java threads run at a time and each thread takes a scheduler record from JOBSVC table and process it. A value of 0 indicates that this service will not run on the server (A thread per Server core, suppose you have 4 cores than don’t crease the concurrent thread value more than 4)

 

Active Mode => Choose true if you want jobs processed continuously until all jobs finish. Choose false if you want each job processed according to the Interval.

 

Like the above, we can enable/disable, increase/decrease concurrent threads of the jobs on each application. For example, I could enable SUMMARIZER, LEVELLER& SCHEDULER on one JOB Server with the high concurrent job and disable others jobs. On a large scale P6 environment, it is necessary to have a dedicated JOB server to process these jobs.

For example, assume there are 200 concurrent users using P6. One is summarizing an EPS, and other is publishing an EPS. If the EPS consist of 1000 project then 1000 record for Summarizer, and 1000 for Publisher records created in the JOBSVC table. P6 web only takes care of these 2000 jobs, then it affects the performance and may get a chance of Job will fail. A dedicated P6 job server is highly recommended.

 

How to create and run a P6 job Server

 

  • Oracle recommends running the P6 Job Server on a dedicated server. The p6services.jar is a jar file that comes with the P6Home directory as shown below

 

022618_0337_AboutPrimav3 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

  • Run the dbconfig and create a separate P6 configuration for P6Services so you can tune the Job configuration. 

 

P6_Services About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

 

  • Make sure the BreBootstrap.xml should point to the new configuration ‘P6 Services’

 

022618_0337_AboutPrimav4 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

 

  • If you open the admin config, you will notice a separate configuration for P6services.jar like below 

 

022618_0337_AboutPrimav5 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

 

  • Now create a batch file called startP6Service.bat or shell startP6Service.sh & append the following line in it. Place the bootstrap.home and p6services.jar path according to your environment 

 

java -Xms4096m -Xmx4096m -Dprimavera.bootstrap.home=C:\P6EPPM_16_2\p6 -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=128m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 -jar C:\P6EPPM_16_2\p6\p6services.jar

 

 

  • You can manually invoke the P6 Job server by double click on the batch file.  You will see the P6 Services Started Sucessfull message as shown below. This will read all the PENDING jobs in the JOBSVC table based on the JOb setting in admin config  

 

022618_0337_AboutPrimav6 About Primavera P6 Jobs, P6 Job Server and P6 Services.jar

 

  • You can put this batch file in Windows Job Scheduler or Linux CRON job as a nightly job so the Job service will run every night at less loading time.
govindan About Primavera P6 Jobs, P6 Job Server and P6 Services.jar
Connect me

Govind

Thank you for visiting my personal blog. Myself Govindan, Software Developer by profession since 2006 and hence I started this blog early in 2016 and ever since I've been writing about technologies experienced and learnings of everyday life.

The views expressed on this blog are my personal views and do not necessarily reflect the views of my employer.

Please feeling free to reach me on any comments and feedbacks you have. Would be more than glad to listen and reply šŸ™‚
govindan About Primavera P6 Jobs, P6 Job Server and P6 Services.jar
Connect me
By | 2018-02-25T23:19:10+00:00 February 25th, 2018|Categories: P6|Tags: , , , |Comments Off on About Primavera P6 Jobs, P6 Job Server and P6 Services.jar
Like us on Facebook.
Connect!