Skip to content

Commit c43abd6

Browse files
committed
remove DJELME_AUTOSETUP
1 parent d35e1fd commit c43abd6

3 files changed

Lines changed: 7 additions & 40 deletions

File tree

README.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,9 @@ class UsageRecord(EventRecord):
6161
using = "my-es8-backend" # backend name -- required if multiple backends use the same imp
6262
```
6363

64-
Either enable autosetup...
65-
```python
66-
# ... in your django project settings file ...
67-
DJELME_AUTOSETUP = True
68-
```
69-
70-
...or be sure to run the `djelme_backend_setup` management command before trying to store anything.
64+
and be sure to run the `djelme_backend_setup` management command before trying to store anything:
7165
```shell
72-
# This will create an index template for usagerecord timeseries indexes
66+
# This will create an index template for each timeseries record type
7367
python manage.py djelme_backend_setup
7468
```
7569

@@ -192,10 +186,6 @@ class UsageRecord(MyBaseMetric):
192186
}
193187
```
194188

195-
* `DJELME_AUTOSETUP`: Optional feature, default `False` --
196-
set `True` to run backend setup automatically when your django app starts
197-
(like creating index templates in elasticsearch, if they don't already exist)
198-
199189
* `DJELME_DEFAULT_TIMEDEPTH`: Set the granularity of timeseries indexes by the number of "time parts" in index names
200190
```
201191
DJELME_DEFAULT_TIMEDEPTH = 1 # yearly indexes; YYYY

elasticsearch_metrics/apps.py

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,22 @@
11
import collections
22

33
from django.apps import AppConfig
4-
from django.conf import settings
5-
from django.db.models.signals import post_migrate
64
from django.utils.module_loading import autodiscover_modules
75

86
from elasticsearch_metrics.registry import djelme_registry
97

10-
AUTOSETUP_SETTING = "DJELME_AUTOSETUP"
11-
12-
13-
def do_djelme_setup(*, app_config, stdout, **kwargs):
14-
_types_by_backend = djelme_registry.recordtypes_by_backend(
15-
app_label=app_config.label
16-
)
17-
breakpoint()
18-
for _backend_name, _recordtypes in _types_by_backend.items():
19-
_backend = djelme_registry.get_backend(_backend_name)
20-
_backend.djelme_setup(_recordtypes)
21-
228

239
class ElasticsearchMetricsConfig(AppConfig):
2410
name = "elasticsearch_metrics"
2511

2612
def ready(self) -> None:
27-
# connect django signals
28-
if getattr(settings, AUTOSETUP_SETTING, False) is True:
29-
post_migrate.connect(do_djelme_setup)
3013
# discover any `foo.metrics` in installed apps
3114
autodiscover_modules("metrics")
32-
# load backends settings
33-
_backend_names_by_module = collections.defaultdict(list)
34-
for (
35-
_backend_name,
36-
_imp_module_name,
37-
_,
38-
) in djelme_registry.each_backend_settings():
39-
_backend_names_by_module[_imp_module_name].append(_backend_name)
40-
# call `djelme_when_ready` once for each imp module
41-
for _imp_module_name, _backend_names in _backend_names_by_module.items():
15+
# call `djelme_when_ready` once for each djelme imp module used by a backend
16+
_backends_by_imp: dict[str, list[str]] = collections.defaultdict(list)
17+
for _backend_name, _imp_name, _ in djelme_registry.each_backend_settings():
18+
_backends_by_imp[_imp_name].append(_backend_name)
19+
for _imp_module_name, _backend_names in _backends_by_imp.items():
4220
_imp_module = djelme_registry.get_imp_module(_imp_module_name)
4321
_imp_module.djelme_when_ready(
4422
backends=[

elasticsearch_metrics/tests/settings.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
MIDDLEWARE_CLASSES = []
1414
DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3", "NAME": "test_djelme"}}
1515

16-
DJELME_AUTOSETUP = True
1716
DJELME_BACKENDS = {
1817
"my_elastic6": {
1918
"elasticsearch_metrics.imps.elastic6": {

0 commit comments

Comments
 (0)