Scheduler
Process-local scheduler for semantic memory dedupe weekend jobs.
This module keeps automatic semantic dedupe scheduling internal to
gllm-memory. The scheduler is intentionally small:
it owns one daemon thread per configured vector-store target and ensures one
process does not register duplicate weekend jobs for the same store.
ensure_semantic_memory_dedupe_scheduler(*, scheduler_key, settings, runner)
Register one process-local scheduler when the key is supported.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scheduler_key
|
str | None
|
Stable ownership key for the target store. |
required |
settings
|
SemanticMemoryDedupeSettings
|
Dedupe schedule settings. |
required |
runner
|
Callable[[], Awaitable[object]]
|
Async dedupe runner. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
|
release_semantic_memory_dedupe_scheduler(*, scheduler_key)
Release one scheduler owner and stop the thread when the last owner is gone.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scheduler_key
|
str | None
|
Stable ownership key for the target store. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
|