nextcloud / nextcloud/context_chat_backend

[feat]: send batches of updates in the subprocess

Open
#323 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority: medium
Dominant language
Python
Stars
27
Forks
24
Avg merge
3d 4h
Merged PRs (30d)
6

Description

Instead of processing one type of update in a subprocess (which is from forkserver so is fast but is still a subprocess), bucket the list and send the batches in the service functions so all of the updates are done with the overhead of one subprocess
https://github.com/nextcloud/context_chat_backend/blob/9c525e57150443135a66bf02214ba402496759c3/context_chat_backend/task_fetcher.py#L346-L398
https://github.com/nextcloud/context_chat_backend/blob/master/context_chat_backend/vectordb/service.py

Breathing time between updates/writes to the DB may still be required.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the update-processing logic in context_chat_backend/task_fetcher.py at lines 346-398, then trace the service functions in context_chat_backend/vectordb/service.py. Determine where updates can be bucketed so batches share one subprocess, while preserving any needed breathing time between database updates or writes. Done means the service processes batches with reduced subprocess overhead without disrupting update behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, databases, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.