Schedulers - bcgov/SIMS GitHub Wiki
1. Descriptions
1.1 archive-applications
Archive applications some days after study period end date. The number of days is based on an environment variable: APPLICATION_ARCHIVE_DAYS.
1.2 atbc-response-integration NOT IN USE
Checks for ATBC processed records. This is not in use and a new path for integration with ATBC is in progress with an API implementation.
1.3. cra-process-integration
Income verification request creation. This file is created with a lifetime sequence and merged into the outbound sequence with files from SFAS.
1.4. cra-response-integration
Income verification response files are processed. Files are received with a sequence number and include files with SFAS records as well.
1.5. disbursement-receipts-file-integration
Imports the disbursement receipt file and sends an email to the finance team. This fails if it does not have a file to read, requiring clearing of failed jobs due to holidays/non-processing days. Check with the finance contact if not sure if it's a day with no file expected (email address from 'Ministry notification for provincial daily disbursement report.')
1.6. ece-process-integration
Generates ECE (CON) file for institutions that have integration. These are picked up by a job to be merged with a CON file generated by SFAS into a single file consumed by integrated institutions.
1.7. ece-process-response-integration
Read the ECE Response file (CONR) from institutions to update COE and sends email to the integration_contact.
1.8. federal-restrictions-integration
Import federal restrictions snapshot, creates new federal restrictions for any SIMS students and resolves any active federal restrictions when they do not exist on the inbound file.
1.9. full-time-e-cert-integration
Generates full-time e-Certs. e-Certs send student and funding information to to NSLSC for disbursement to the student. Different layout from the FT Ecert file that SFAS sends. Only valid ecerts that are within the timeframe will be sent.
1.10. full-time-feedback-integration
Imports e-Cert full-time feedback file with errors. Feedback errors have a description and a code. When they are considered to block funding an email is sent to the ministry and the student to notify them that there is something preventing them from getting funds disbursed. The applications will also have an updated tracker card with a message about it.
1.11. full-time-msfaa-integration
Creates the full-time MSFAA pending records file request to be sent to NSLSC. These are picked up by a job to be merged with a MSFAA file generated by SFAS.
1.12. full-time-msfaa-process-response-integration
Imports the full-time MSFAA confirmations and cancellations. Not a 1:1 match for all pending MSFAAs that were sent out. Shared with SFAS.
1.13. ier12-integration
Creates the Institution IER12 file. See k) SIMS Operations & Maintenance\Tech Operations\SIMS PSI Integration.docx or SIMS PSI Engagement\General\2025 IER and ECE Workshops\File Information for layout information and troubleshooting the process.
1.14. part-time-e-cert-integration
Generates part-time e-Certs. e-Certs send student and funding information to to NSLSC for disbursement to the student. All part-time BC grants are included under a single funding code BCSG.
1.15. part-time-feedback-integration
Imports e-Cert part-time feedback file with errors. Feedback errors have a description and a code. When they are considered to block funding an email is sent to the ministry and the student to notify them that there is something preventing them from getting funds disbursed. The applications will also have an updated tracker card with a message about it.
1.16. part-time-msfaa-process-integration
Creates the part-time MSFAA pending records file request to be sent to NSLSC.
1.17. part-time-msfaa-process-response-integration
Imports the part-time MSFAA confirmations and cancellations. Not a 1:1 match for all pending MSFAAs that were sent out.
1.18. sfas-integration
Imports SFAS (legacy) record files into the sfas_ tables. This is a delta file from SFAS so will continue to provide data as activity winds down. While automatic profile matches to legacy don't require this process, any manual legacy student matches require this process to run in order to have their profile updated with the relevant overawards/app history/restrictions.
1.19. sin-validation-process-integration
SIN validation request includes all new sin records that have not received a validation. This file has a sequence in the filename. Harry has a job that automatically renames and re-sequences the file in line with the files being generated by SFAS.
1.20. sin-validation-response-integration
Processes the response files for SIN validation. Two file types are processed ".IS" and ".ISR". ".IS" are the automatic responses based on the submitted data. Some response codes indicate a manual review will occur without sending a new sin validation request, these manual review responses are ".ISR" files. Students are sent a response when they are in the response file.
1.21. student-loan-balances-part-time-integration
Monthly incoming file from NSLSC to report on the CSL-PT status for all students. Any matching SIMS profiles will have a new record related to their student profile. This number is used in the part-time assessment.
1.22. cas-supplier-integration
Requests or creates a supplier maintenance record for all students who have a valid SIN.
1.23. cas-invoices-batches-creation
Creates an invoice batch for cas-send-invoices of all pending invoices. Before they get sent for invoicing, the batch must be approved by someone with CAS-ExpenseAuthority access.
1.24. cas-send-invoices
Connects to the CAS invoicing API. Invoicing is done for all students who have we are responsible for issuing T4As for.
1.25. application-changes-report-integration
Application changes report integration. Sometimes called the "type b" report. This reports any changes to applications like study end date that have already been sent to NSLSC.
1.26. student-application-notifications
Scheduled application related email notifications:
Student
- PD/PPD Student reminder email 8 weeks before end date.
- Second disbursement reminder email.
- COE required reminder email when study end date is within 10 days.
- Assessment reminder email when assessment is overdue by 7 days.
Ministry
- CRA file response overdue by 5 days reminder email. Uses env variable
CRA_FILE_OVERDUE_DAYS. - SIN file response overdue by 5 days reminder email. Uses env variable
ESDC_FILE_OVERDUE_DAYS.
1.28. e-cert-cancellation-response-integration
Process the e-cert cancellation file(s) and reject the disbursements.
1.29. t4a-upload-enqueuer
Search T4A files in SFTP and create t4a-upload queue batches.
1.30. sims-to-sfas-integration
Generates a file if there are any changes related to student, application or restriction information. This gets sent back to SFAS to ensure the remaining applications are processed according to policy.
1.31. process-notifications
Process notifications which are unsent. See the Notifications page in the wiki for more info.
2. Job Details
Schedule
| Scheduler Name | Cron expression | UTC | PST | REPEAT | SEQUENTIAL | ARCHIVING ON ERROR |
|---|---|---|---|---|---|---|
| archive-applications | 0 7 * * * | 7:00 AM | 12:00 AM | Every day. | - | - |
| atbc-response-integration | 0 17 * * * | 5:00 PM | 10:00 AM | Every day. | - | - |
| cra-process-integration | 0 5 * * * | 5:00 AM | 10:00 PM | Every day. | - | - |
| cra-response-integration | 0 16 * * * | 4:00 PM | 9:00 AM | Every day. | NO | YES |
| disbursement-receipts-file-integration | 0 14 * * 1-5 | 2:00 PM | 7:00 AM | Weekdays. | NO | YES |
| ece-process-integration | 0 7 * * * | 7:00 AM | 12:00 AM | Every day. | - | - |
| ece-process-response-integration | 45 06 * * * | 6:45 AM | 11:45 PM | Every day. | NO | YES |
| federal-restrictions-integration | 0 13 * * * | 1:00 PM | 6:00 AM | Every day. | NO | YES |
| full-time-e-cert-integration | 0 8 * * 1-5 | 8:00 AM | 1:00 AM | Weekdays. | - | - |
| full-time-feedback-integration | 0 20 * * * | 8:00 PM | 12:00 PM | Every day. | NO | NO |
| full-time-msfaa-integration | 0 9 * * 1-5 | 9:00 AM | 2:00 AM | Weekdays. | - | - |
| full-time-msfaa-process-response-integration | 15 17 * * * | 5:15 PM | 10:15 AM | Every day. | NO | YES |
| ier12-integration | 15/30 * * * * | 1:00 PM | 6:00 AM | Every 30 minutes at :15 and :45 minutes on the hour | - | - |
| part-time-e-cert-integration | 0 8 * * * | 8:00 AM | 1:00 AM | Every day. | - | - |
| part-time-feedback-integration | 0 12 * * * | 12:00 PM | 5:00 AM | Every day. | NO | NO |
| part-time-msfaa-process-integration | 0 8 * * * | 8:00 AM | 1:00 AM | Every day. | - | - |
| part-time-msfaa-process-response-integration | 0 12 * * * | 12:00 PM | 5:00 AM | Every day. | NO | YES |
| sfas-integration | 15/30 * * * * | - | - | Every 30 minutes at :15 and :45 minutes on the hour | YES | NO |
| sin-validation-process-integration | 0 14 * * * | 2:00 PM | 7:00 AM | Every day. | - | - |
| sin-validation-response-integration | 0 14 * * * | 2:00 PM | 7:00 AM | Every day. | NO | YES |
| student-loan-balances-part-time-integration | 30 6 * * * | 6:30 AM | 11:30 PM | Every day. | NO | YES |
| cas-supplier-integration | 0 20 * * 1-5 | 8:00 PM | 1:00 PM | Weekdays. | - | - |
| cas-invoices-batches-creation | 0 4 * * 1-5 | 4:00 AM | 9:00 PM | Weekdays. | - | - |
| cas-send-invoices | 0 2,15,20 * * 1-5 | 2:00 AM, 3:00 PM, 8:00 PM | 7:00 PM, 8:00 AM, 1:00 PM | Weekdays. | - | - |
| application-changes-report-integration | 0 16 * * 1 | 4:00 PM | 9:00 AM | Every week on Monday. | - | - |
| student-application-notifications | 0 8 * * * | 8:00 AM | 1:00 AM | Every day. | - | - |
| e-cert-cancellation-response-integration | 0 4 * * 7 | 4:00 AM | 9:00 PM | Every week on Sunday(PST Saturday). | NO | NO |
| t4a-upload-enqueuer | 0 13 * 2-5 * | 1:00 PM | 6:00 AM | Every day, from February to May. | NO | YES |
| sims-to-sfas-integration | 0 0,4,8,12,16,20 * * * | 12:00 AM + 4hrs | 5:00 PM + 4hrs | Every 4 hours on the hour starting at midnight UTC. | - | - |
3. Job Data
cas-send-invoices
Parameters:
- pollingRecordsLimit : Maximum number of CAS Integration records to process per schedule.
Sample payload:
{
"pollingRecordsLimit": 2000
}
ier12-integration
Parameters:
- modifiedSince (optional): Inclusive date since the application or student data was modified. Includes all updates until the job execution date/time to ensure that the extract is current. The date should be in ISO format (YYYY-MM-DD). Can be no earlier than 1 year in the past. If not provided, it will pick up records for the previous day from the beginning of the day until mignight.
- institutionCode (optional): Institution code to limit applications to a specific institution.
Sample payload:
{
"modifiedSince": "2026-06-01",
"institutionCode": "ABCD"
}
t4a-upload-enqueuer
Parameters:
- maxFileUploadsPerBatch : Maximum number of uploads per batch.
Sample jobData payload:
{
"maxFileUploadsPerBatch": 100
}
Sample jobOptions (overrides default schedule options and runs a single job once right now)
{
"jobId": "manual-ier12-avad-20260820-001",
"attempts": 1,
"repeat": {
"every": 1000,
"limit": 1
}
}
4. Job Execution
To do a manual job run (e.g. ier12-integration for a specific time frame/institution), do the following:
- Navigate to the Queues Dashboard.
- Select the queue from the left hand menu.
- Click the DELAYED tab.
- Find an existing job and click the Duplicate icon. Important: If you just edit an existing job, the "normal" scheduled job is replaced with the edited version.
- Add the jobData (as required), modify the jobOptions (as required) and click Duplicate.
- Click the Promote icon.
- Check the job progress under Active or Completed.