Skip to content

Commit c260d68

Browse files
committed
misc fixes
1 parent 31cf23f commit c260d68

File tree

6 files changed

+30
-22
lines changed

6 files changed

+30
-22
lines changed

api/app/settings/common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -907,7 +907,7 @@
907907
# Real time(server sent events) settings
908908
SSE_SERVER_BASE_URL = env.str("SSE_SERVER_BASE_URL", None)
909909
SSE_AUTHENTICATION_TOKEN = env.str("SSE_AUTHENTICATION_TOKEN", None)
910-
AWS_FASTLY_LOGS_BUCKET_NAME = env.str("AWS_FASTLY_LOGS_BUCKET_NAME", None)
910+
AWS_SSE_LOGS_BUCKET_NAME = env.str("AWS_SSE_LOGS_BUCKET_NAME", None)
911911
SSE_INFLUXDB_BUCKET = env.str("SSE_INFLUXDB_BUCKET", None)
912912

913913

api/app/settings/test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
"user": "100000/day",
1313
}
1414

15-
AWS_FASTLY_LOGS_BUCKET_NAME = "test_bucket"
15+
AWS_SSE_LOGS_BUCKET_NAME = "test_bucket"

api/sse/dataclasses.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from dataclasses import dataclass
2+
3+
4+
@dataclass
5+
class SSEAccessLogs:
6+
generated_at: str # ISO 8601
7+
api_key: str

api/sse/sse_service.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
s3 = boto3.resource("s3")
1414
gpg = gnupg.GPG()
1515

16-
bucket = s3.Bucket(settings.AWS_FASTLY_LOGS_BUCKET_NAME)
17-
1816

1917
def _sse_enabled(get_project_from_first_arg=lambda obj: obj.project):
2018
"""
@@ -57,6 +55,7 @@ def send_environment_update_message_for_environment(environment):
5755

5856

5957
def stream_access_logs() -> Generator[SSEAccessLogs, None, None]:
58+
bucket = s3.Bucket(settings.AWS_SSE_LOGS_BUCKET_NAME)
6059
for log_file in bucket.objects.all():
6160
encrypted_body = log_file.get()["Body"].read()
6261
decrypted_body = gpg.decrypt(encrypted_body)
@@ -66,4 +65,4 @@ def stream_access_logs() -> Generator[SSEAccessLogs, None, None]:
6665
for row in reader:
6766
yield SSEAccessLogs(*row)
6867

69-
# log_file.delete()
68+
log_file.delete()

api/sse/tasks.py

+18-16
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,24 @@ def send_environment_update_message(environment_key: str, updated_at):
3939
response.raise_for_status()
4040

4141

42-
@register_recurring_task(
43-
run_every=timedelta(seconds=60),
44-
)
45-
def update_sse_usage():
46-
with influxdb_client.write_api(
47-
write_options=WriteOptions(batch_size=1000, flush_interval=2000)
48-
) as write_api:
49-
for log in sse_service.stream_access_logs():
50-
environment = Environment.get_from_cache(log.api_key)
51-
52-
if not environment:
53-
logger.warning("Invalid api_key %s", log.api_key)
54-
continue
55-
56-
record = _get_influx_point(environment, log.generated_at)
57-
write_api.write(bucket=settings.SSE_INFLUXDB_BUCKET, record=record)
42+
if settings.AWS_SSE_LOGS_BUCKET_NAME:
43+
44+
@register_recurring_task(
45+
run_every=timedelta(seconds=60),
46+
)
47+
def update_sse_usage():
48+
with influxdb_client.write_api(
49+
write_options=WriteOptions(batch_size=1000, flush_interval=2000)
50+
) as write_api:
51+
for log in sse_service.stream_access_logs():
52+
environment = Environment.get_from_cache(log.api_key)
53+
54+
if not environment:
55+
logger.warning("Invalid api_key %s", log.api_key)
56+
continue
57+
58+
record = _get_influx_point(environment, log.generated_at)
59+
write_api.write(bucket=settings.SSE_INFLUXDB_BUCKET, record=record)
5860

5961

6062
def _get_influx_point(environment: Environment, event_time: str) -> Point:

api/tests/unit/sse/test_sse_service.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def test_stream_access_logs(mocker: MockerFixture, settings):
126126
patch_resource(s3)
127127

128128
# Next, let's create a bucket and add some objects to it
129-
bucket_name = settings.AWS_FASTLY_LOGS_BUCKET_NAME
129+
bucket_name = settings.AWS_SSE_LOGS_BUCKET_NAME
130130
s3_client = boto3.client("s3", region_name="eu-west-2")
131131
s3_client.create_bucket(
132132
Bucket=bucket_name,

0 commit comments

Comments
 (0)