Support batched logs from the worker #4174
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
The production worker now supports batch logging (optionally).
What this means in short that instead of sending each log line straight to the
run:socketchannel, it'll save up a bunch of them and send a batch of logs in one go.This should reduce latency on log processing in the worker, and may eliminate even more lost runs.
Overview
This is a very simple, minimal PR which supports log events being set from the worker in batches.
It is designed to be backward compatible with batched and un-batched logs.
So basically the behaviour here is is simply:
logskey)logs, key, massage the payload into an array of 1 logThis PR does not do any batch uploading in the database. It probably makes sense to do this? But it feels beyond the scope of what I ought to be doing (with or without Claude's help)
I have not touched tests, but we should introduce a few tests against batched logs.
Closes #4123
AI Usage
Please disclose how you've used AI in this work (it's cool, we just want to know!):
You can read more details in our Responsible AI Policy