D. Berge
9e73cb7e00
Clean up on SIGINT, SIGHUP signals
2023-10-14 20:07:19 +02:00
D. Berge
d7ab4eec7c
Run some tasks periodically from the main process.
...
This reduces reliance on crontab jobs.
2023-10-14 20:06:38 +02:00
D. Berge
cdd96a4bc7
Don't bother trying to kill the child process on exit.
...
As the exit signal handler does not allow asynchronous tasks and
besides, killing the parent should kill its children too.
2023-10-14 20:02:54 +02:00
D. Berge
39a21766b6
Exit on start up errors
2023-10-14 20:02:04 +02:00
D. Berge
0e33c18b5c
Replace console.log() with debug library calls
2023-10-14 19:57:57 +02:00
D. Berge
7f411ac7dd
Add queue libraries.
...
A basic queue implementation and one that consumes its items
automatically until empty.
2023-10-14 19:56:56 +02:00
D. Berge
ed1da11c9d
Add helper function to purge notifications
2023-10-14 19:54:34 +02:00
D. Berge
66ec28dd83
Refactor DB notifications listener to support large payloads.
...
The listener will automatically retrieve the full payload
before passing it on to event handlers.
2023-10-14 18:33:41 +02:00
D. Berge
7b6b81dbc5
Add more debugging statements
2023-10-04 14:50:12 +02:00
D. Berge
2e11c574c2
Throw rather than return.
...
Otherwise the finally {} block won't run.
2023-10-04 14:49:35 +02:00
D. Berge
d07565807c
Do not retry immediately
2023-10-04 14:49:09 +02:00
D. Berge
6eccbf215a
There should be no need to await.
...
That is because the queue handler will, in theory, only ever
process one event at a time.
2023-09-30 21:29:15 +02:00
D. Berge
8abc05f04e
Remove dead code
2023-09-30 21:29:15 +02:00
D. Berge
8f587467f9
Add comment
2023-09-30 21:29:15 +02:00
D. Berge
3d7a91c7ff
Rewrite ReportLineChangeTime
2023-09-30 21:29:15 +02:00
D. Berge
3fd408074c
Support passing array in opts.sequences to event.list()
2023-09-30 21:29:15 +02:00
D. Berge
f71cbd8f51
Add unique utility function
2023-09-30 21:29:15 +02:00
D. Berge
915df8ac16
Add handler for creation of line change time events
2023-09-30 21:29:15 +02:00
D. Berge
d5ecb08a2d
Allow switching to event entry by time.
...
A ‘Timed’ button is shown when a new (not edited) event is in
the event entry dialogue and the event has sequence and/or
point values. Pressing the button deletes the sequence/point
information and sets the date and time fields to current time.
Fixes #277 .
2023-09-30 21:26:32 +02:00
D. Berge
180590b411
Mark events as being automatically generated
2023-09-30 01:42:27 +02:00
D. Berge
4ec37539bf
Add utils to work with Postgres ranges
2023-09-30 01:41:45 +02:00
D. Berge
8755fe01b6
Refactor events.list.
...
The SQL has been simplified and the following changes made:
- The `sequence` argument now can only take one individual
sequence, not a list of sequences.
- A new `sequences` argument is recognised. It takes a list
of sequences (as a string).
- A new `label` argument is recognised. It takes a label
name and returns events containing that label.
- A new `jpq` argument is recognised. It takes a JSONPath
string which is applied to `meta` with jsonb_path_exists(),
returning any events for which the JSON path expression
matches.
2023-09-30 01:37:22 +02:00
D. Berge
0bfe54e0c2
Include the meta attribute when posting events
2023-09-30 01:36:18 +02:00
D. Berge
29bc689b84
Merge branch '276-add-soft-start-event-detection' into 'devel'
...
Resolve "Add soft start event detection"
Closes #276
See merge request wgp/dougal/software!44
2023-09-29 15:02:57 +00:00
D. Berge
65682febc7
Add soft start and full volume events detection
2023-09-29 17:02:03 +02:00
D. Berge
d408665d62
Write meta info to automatic events
2023-09-29 16:49:27 +02:00
D. Berge
ab58e578c9
Use DEBUG library throughout
2023-09-29 16:16:33 +02:00
D. Berge
0e58b8fa5b
Refactor code to identify candidate schemas.
...
As part of the refactoring, we took into account a slight payload
format change (project configuration details are under the `data`
attribute).
2023-09-29 16:13:35 +02:00
D. Berge
99ac082f00
Use common naming convention both online and offline
2023-09-29 16:11:44 +02:00
D. Berge
42456439a9
Remove ad-hoc notifier
2023-09-29 15:59:12 +02:00
D. Berge
ee0c0e7308
Replace ad-hoc notifier with pg-listen based version
2023-09-29 15:59:12 +02:00
D. Berge
0829ea3ea1
Save a copy of the headers not the original.
...
Otherwise ExpressJS will complain about trying to modify
headers that have already been sent.
2023-09-24 12:17:16 +02:00
D. Berge
2069d9c3d7
Remove dead code
2023-09-24 12:15:06 +02:00
D. Berge
8a2d526c50
Ignore schema attribute in PATCH payload.
...
Fixes #273 .
2023-09-24 12:14:20 +02:00
D. Berge
8ad96d6f73
Ensure that requiredFields is always defined.
...
Otherwise, `Object.entries(requiredFields)` may fail.
2023-09-24 11:59:26 +02:00
D. Berge
835384b730
Apply path conversion to QC definition files
2023-09-23 22:50:09 +02:00
D. Berge
c5b93794f4
Move path conversion to general utilities
2023-09-23 13:44:53 +02:00
D. Berge
056cd32f0e
Merge branch '271-qc-results-not-being-refreshed' into 'devel'
...
Resolve "QC results not being refreshed"
Closes #271
See merge request wgp/dougal/software!41
2023-09-18 10:08:35 +00:00
D. Berge
ceccc42050
Don't cache response ETags for QC endpoints
2023-09-18 12:06:38 +02:00
D. Berge
aa3379e1c6
Adapt RTI save function to refactored project configuration in DB
2023-09-18 11:58:55 +02:00
D. Berge
85d8fc8cc0
Update required database version
2023-09-15 14:22:22 +02:00
D. Berge
0fe40b1839
Add missing require
2023-09-15 14:22:02 +02:00
D. Berge
a1779ef488
Do not cache /navdata endpoint responses
2023-09-14 13:20:16 +02:00
D. Berge
5239dece1e
Do not cache GIS endpoint responses
2023-09-14 13:19:57 +02:00
D. Berge
a7d7837816
Allow only admins to patch project configurations
2023-09-14 13:19:16 +02:00
D. Berge
ebcfc7df47
Allow everyone to access project configuration.
...
This is necessary as it is requested by various parts of the
frontend.
Consider more granular access control.
2023-09-14 13:17:28 +02:00
D. Berge
dc4b9002fe
Adapt QC endpoints to new configuration APIs
2023-09-14 13:15:59 +02:00
D. Berge
33618b6b82
Do not cache Set-Cookie headers
2023-09-14 13:13:47 +02:00
D. Berge
597d407acc
Adapt QC view to new label payload from API
2023-09-14 13:13:18 +02:00
D. Berge
821fcf0922
Add wx forecast info to plan (experiment).
...
Use https://open-meteo.com/ as a weather forecast provider.
This code is intended for demonstration only, not for
production purposes.
(issue #157 )
(cherry picked from commit cc4bce1356 )
2023-09-13 20:04:15 +00:00