You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/Batch.md
+25-42Lines changed: 25 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,58 +4,37 @@ The Internet.nl codebase is bundled with batch functionality, that is the
4
4
ability to submit a number of domains at once for web or email testing.
5
5
6
6
This is accomplished through a REST API.
7
+
The API documentation of the Internet.nl API v2.0 can be found on https://batch.internet.nl/api/batch/openapi.yaml.
8
+
A viewer, like ReDoc, can be used for generating a human readable version: http://redocly.github.io/redoc/?url=https://batch.internet.nl/api/batch/openapi.yaml.
In batch operation mode it is advised to use a forwarding resolver that all the
51
-
celery tasks are going to forward DNS queries to. This is configurable with the
52
-
`CENTRAL_UNBOUND` option.
53
-
54
-
### DB indexes
55
-
When running in batch operation mode it is advised to run
56
-
`manage.py api_create_db_indexes`. This creates additional DB indexes needed
57
-
for the batch functionality.
28
+
* The connection test is not available.
29
+
* DNSSEC tests do not perform a registrar lookup.
30
+
* The REST API is only enabled in batch mode.
31
+
* The hall of fame is not enabled.
32
+
* Individual clients are not rate limited, as scheduling is entirely different as explained below.
33
+
* No prechecks are performed e.g. to check whether the hostname has an A/AAAA record.
34
+
* The database has some additional indexes.
58
35
36
+
These configuration differences are automatically managed by the deployment based on `ENABLE_BATCH`,
37
+
or is documented in the batch deployment guide.
59
38
60
39
## Information for developers
61
40
@@ -65,6 +44,10 @@ logic to submit normal tests to the main Internet.nl functionality.
65
44
66
45
### Logic
67
46
47
+
Fundamentally:
48
+
- Batch requests are processed on a FIFO basis for a particular user. This means a users can submit multiple batch requests, but they are processed sequentally. The first / current batch requests needs to finish before the next one starts.
49
+
- Batch requests of multiple users are run in parallel. While influenced by the number of users running simultaneous batch requests, you should assume that parallel tasks take longer to finish since server resources are being shared.
50
+
68
51
All the batch logic is being ran/managed by `checks/batch/scheduler.py` which
69
52
is ran periodically in celery and in short:
70
53
1. Does some bookkeeping for stalled tests;
@@ -80,7 +63,7 @@ is ran periodically in celery and in short:
80
63
### Relevant DB Models
81
64
82
65
-`BatchUser`
83
-
Stores the registered users; not passwords.
66
+
Stores the registered users; not passwords. Automatically created.
84
67
-`BatchRequest`
85
68
Stores the batch requests that come through the API along with links to the
Copy file name to clipboardExpand all lines: documentation/Docker-deployment-batch.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,7 +104,7 @@ Batch installations require the following settings:
104
104
And optionally:
105
105
106
106
-`MONITORING_AUTH`: May be a comma separated list of `user:password` pairs which are allowed to access the metrics at `https://example.com/grafana/`.
107
-
-`BASIC_AUTH`, `BASIC_AUTH_RAW` and `ALLOW_LIST`: Can be set to restrict access to the single scan webpage. See [Restricting Access](Docker-deployment.md#restricting-access) for more information.
107
+
-`BASIC_AUTH_RAW` and `ALLOW_LIST`: Can be set to restrict access to the single scan webpage. See [Restricting Access](Docker-deployment.md#restricting-access) for more information.
108
108
109
109
For example:
110
110
@@ -113,8 +113,6 @@ For example:
113
113
ENABLE_HOF=False
114
114
# user/password(s) for access to /grafana monitoring
115
115
MONITORING_AUTH=user:welkom01
116
-
# user/password(s) for access to web interface
117
-
BASIC_AUTH=user:welkom01
118
116
# allowed IP's to visit web interface without password
0 commit comments