Bill Scheduler

Overview

This bill scheduler is a cronjob scheduler for calculating the supervision bill. It runs based on environment configuration. It triggers multiple APIs to generate the supervision bill.

Dependency

  • MDMS

  • User

  • Contract

  • Expense Calculator

Key Functionalities

Creates supervision bills based on ACTIVE contracts using expense-calculate service /v1/_calculate API.

Code

Bill Scheduler

Configuration

  • Create a role in ACCESSCONTROL-ROLES/roles.json MDMS - follow the steps given here.

  • Create a SYSTEM user with BILL_CREATOR and SYSTEM roles. Find the curl below.

  • The same username is used to generate bills BILL_GEN_CRONJOB. This is defined in the environment config.

  • Cron job duration will be configured using environment variables from here.

Deployment

Helm Charts

Update Scheduler

There are two ways to update the configuration of the scheduler:

  1. Add the config in the DevOps environment file, and restart the service. This will trigger the scheduler based on the updated environment configuration and restart the expense-cronjob service.

  1. Use the commands given below: Change schedule - kubectl patch cronjobs expense-cronjob -p '{"spec" : {"schedule": "*/10 * * * *" }}'

    Pause cron job - kubectl patch cronjobs expense-cronjob -p '{"spec" : {"suspend" : true }}' Resume cron job - kubectl patch cronjobs expense-cronjob -p '{"spec" : {"suspend" : false}}' Create a new cronjob scheduler - kubectl create job --from=cronjob/expense-cronjob expense-cronjob

Last updated

Was this helpful?