mirror of
https://github.com/jlengrand/bugsink.git
synced 2026-03-10 08:01:17 +00:00
Setting & check for site-wide per-month event ingestion maximum
This commit is contained in:
21
phonehome/migrations/0003_installation_ingest_quotas.py
Normal file
21
phonehome/migrations/0003_installation_ingest_quotas.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("phonehome", "0002_installation_email_quota_usage"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="installation",
|
||||
name="next_quota_check",
|
||||
field=models.PositiveIntegerField(default=0),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="installation",
|
||||
name="quota_exceeded_until",
|
||||
field=models.DateTimeField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
@@ -16,7 +16,10 @@ class Installation(models.Model):
|
||||
|
||||
silence_email_system_warning = models.BooleanField(default=False)
|
||||
|
||||
# ingestion/digestion quota
|
||||
email_quota_usage = models.TextField(null=False, default='{"per_month": {}}')
|
||||
quota_exceeded_until = models.DateTimeField(null=True, blank=True)
|
||||
next_quota_check = models.PositiveIntegerField(null=False, default=0)
|
||||
|
||||
@classmethod
|
||||
@immediate_atomic(only_if_needed=True) # minimalize write-lock-hogging (while being callable within atomic blocks)
|
||||
|
||||
Reference in New Issue
Block a user