# Liste technique des Jobs (Queueing)

# Audit des jobs Bull

## Config globale

**BULL\_DEFAULT\_OPTIONS** (`src/utils/bull.utils.ts`) :

- attempts: 5, backoff: exponential 1s
- removeOnComplete: 1 jour / 20000
- removeOnFail: 3 jours / 20000

**Bull Board** : `/queues`

## Jobs par queue

### charging-stations-processor

<table id="bkmrk-job-concurrency-lock"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>boot-process</td><td>1</td><td>@LockByKey (30s)</td><td>catch sans rethrow</td></tr><tr><td>set-online-status-process</td><td>1</td><td>@LockByKey (30s)</td><td>catch sans rethrow</td></tr></tbody></table>

### connectors-processor

<table id="bkmrk-job-concurrency-lock-1"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>status-notification-process</td><td>1</td><td>@LockByKey (30s)</td><td>catch sans rethrow</td></tr></tbody></table>

Enqueue vers smart-charging-processor si smart charging actif.

### transactions-processor

<table id="bkmrk-job-concurrency-lock-2"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>stop-transaction-job</td><td>1</td><td>@LockByKey (30s)</td><td>catch + rethrow</td></tr><tr><td>add-meter-value-job</td><td>1</td><td>@LockByKey (30s)</td><td>catch + rethrow</td></tr><tr><td>delete-zombie-transaction-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>add-meter-value-ocpp20-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### ocpp-logs-processor

<table id="bkmrk-job-concurrency-lock-3"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>ocpp-logs-batch-process</td><td>1</td><td>@LockByKey (30s)</td><td>catch sans rethrow</td></tr><tr><td>ocpp-logs-process</td><td>1</td><td>@LockByKey (30s)</td><td>catch sans rethrow</td></tr><tr><td>remove-old-ocpp-logs</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### notifications-processor

<table id="bkmrk-job-concurrency-lock-4"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>check-charging-station-offline</td><td>1</td><td>aucun</td><td>pas de try/catch (BaseProcessor)</td></tr><tr><td>send-notification-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>notifications-transactions-zombie</td><td>1</td><td>aucun</td><td>pas de try/catch (BaseProcessor)</td></tr></tbody></table>

### smart-charging-processor

<table id="bkmrk-job-concurrency-lock-5"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>smart-charging-on-start-job</td><td>1</td><td>@SkipIfBusy (30s)</td><td>catch sans rethrow</td></tr><tr><td>smart-charging-rebalance-job</td><td>1</td><td>@SkipIfBusy (30s)</td><td>catch sans rethrow</td></tr><tr><td>smart-charging-clear-profile-job</td><td>3</td><td>@LockByKey (15s)</td><td>catch sans rethrow</td></tr></tbody></table>

### kpi-processor

<table id="bkmrk-job-concurrency-lock-6"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>get-location-kpi-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>get-group-kpi-job</td><td>1</td><td>aucun</td><td>catch sans rethrow (console.error)</td></tr></tbody></table>

### groups-processor

<table id="bkmrk-job-concurrency-lock-7"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>clear-profile-groups-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>groups-tree-with-data-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### locations-processor

<table id="bkmrk-job-concurrency-lock-8"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>location-consumption-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### external-transactions-processor

<table id="bkmrk-job-concurrency-lock-9"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>save-external-transaction-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### kuantic-processor

<table id="bkmrk-job-concurrency-lock-10"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>insert-kuantic-home-transactions-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>insert-kuantic-home-odometers-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### ocean-processor

<table id="bkmrk-job-concurrency-lock-11"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>insert-ocean-home-transactions-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr><tr><td>insert-ocean-home-odometers-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### users-processor

<table id="bkmrk-job-concurrency-lock-12"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>user-send-password-email-job</td><td>1</td><td>aucun</td><td>catch sans rethrow</td></tr></tbody></table>

### teams-processor

<table id="bkmrk-job-concurrency-lock-13"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>get-teams-reporting-job</td><td>1</td><td>aucun</td><td>pas de try/catch (BaseProcessor)</td></tr></tbody></table>

### mission-processor

<table id="bkmrk-job-concurrency-lock-14"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>mission-ticket-in-progress-job</td><td>1</td><td>aucun</td><td>pas de try/catch (BaseProcessor)</td></tr><tr><td>mission-patch-material-job</td><td>1</td><td>aucun</td><td>pas de try/catch (BaseProcessor)</td></tr></tbody></table>

### qualicharge-processor

<table id="bkmrk-job-concurrency-lock-15"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th></tr></thead><tbody><tr><td>qualicharge-static-job</td><td>1</td><td>aucun</td><td>catch + rethrow</td></tr></tbody></table>

### audit-processor

<table id="bkmrk-job-concurrency-lock-16"><thead><tr><th>Job</th><th>Concurrency</th><th>Lock</th><th>Error handling</th><th>Options custom</th></tr></thead><tbody><tr><td>create-audit-log-job</td><td>1</td><td>aucun</td><td>catch + rethrow</td><td>attempts: 3, backoff: exponential 2s, removeOnFail: false</td></tr></tbody></table>