Skip to main content

Schedule of cron expressions for CP-IS jobs

In this article, we will explain the scheduling of cron expressions for CPIS jobs and how cron expressions can be scheduled for these jobs.

Y
Written by Yusef Abulaynain
Updated over 5 months ago

⚠️ Important: Be careful when scheduling the Child Protection Information Sharing (CPIS) jobs in mosaic and the CPIS client to send or retrieve data from central CPIS (NHS system). This is to avoid a clash between the CPIS jobs and to ensure the same data isn’t resent to the CPIS system before an acknowledgement is received.

Each upload should get a response before the next upload in Mosaic. If the Mosaic system doesn't receive and process a response file (acknowledgment file), the previous upload's contents will be resent in the next upload unnecessarily. It's important to manage the file transfer process locally to move files between the MESH client server and the SFTP used by Mosaic at a high frequency, higher than that of the Mosaic CPIS jobs.

We propose the below schedule to ensure this sequential process of managing CPIS files:

Step

Description

Schedule

Responsibility

1. Mosaic CP-IS Upload

Uploads CP-IS files from Mosaic

4 times a day: 06:00, 11:00, 16:00, 21:00
(Cron: 0 0 6/5 1/1 * ? *)

Configured within Mosaic

2. LA Process: Move Files to MESH Client Server

Moves uploaded files to the MESH client server

Every 30 minutes (ideally at :15 past the hour)

Created and maintained by the Local Authority

3. MESH Client Upload/Download

Sends files to and downloads files from central CP-IS

Every 30 minutes (ideally on the hour)

Provided by NHS, maintained by the Local Authority

4. LA Process: Move Files from MESH to SFTP

Moves files downloaded from CP-IS to the Mosaic SFTP

Every 30 minutes (ideally at :15 past the hour)

Created and maintained by the Local Authority

5. Mosaic CP-IS Download

Downloads CP-IS files into Mosaic

Every hour starting from 06:00 (e.g., 06:00, 07:00, 08:00...)
(Cron: 0 0 6/1 1/1 * ? *)

Configured within Mosaic

In the above example:

Time

Step

Action

Location

Responsibility

06:00

1

Mosaic creates the CP-IS upload file and moves it to SFTP

toCPIS folder on SFTP

Mosaic

06:15

2

LA job moves the file from SFTP to MESH client server

From toCPIS (SFTP) → MESH client

Local Authority

06:30

3

MESH client sends the file to NHS CP-IS

MESH → NHS CP-IS

MESH client (maintained by LA)

(After send)

4

CP-IS system generates an acknowledgment (ack) file

NHS CP-IS

NHS

07:00

5

MESH client downloads the ack file from CP-IS to MESH server

NHS CP-IS → MESH client

MESH client

07:15

6

LA job moves the ack file from MESH client to fromCPIS on SFTP

MESH client → fromCPIS (SFTP)

Local Authority

08:00

7

Mosaic picks up the ack file via its CP-IS download job

fromCPIS (SFTP)

Mosaic

This completes one full upload-download cycle, ensuring the ack file is consumed by Mosaic before the next upload begins at 11:00.

Did this answer your question?