Command line: paperpi reload applies config changes and reports the result
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read src/paperpi/cli.py, health.py, and docs/decisions/live-config-reload.md to understand the existing signal and health report behavior. The issue leaves process discovery and result reporting undecided, so begin by tracing how paperpi run handles SIGHUP and how reload results are recorded. Done means paperpi reload reports applied, invalid config, or not running, with the specified exit status.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
From the M5 part 4 design (web interface #238, Review changes page), agreed with txoof on 2026-10-11: a simple command to apply hand edits to the config file, so the web page (and the docs) can show one easy command.
Background: "reload" in PaperPi already means read the config file again and apply only what changed, without a restart (docs/decisions/live-config-reload.md). Unchanged plugins keep their data and their place in the order. Saving in the web interface uses exactly this. Today the only command-line ways to start it are kill -HUP <process id> or sudo systemctl reload paperpi (once PaperPi runs as a service). The design note already names a paperpi reload command, but it was never built.
Proposal
paperpi reload
- Finds the running
paperpi runby itself (no process id to look up). - Sends it the reload signal (SIGHUP).
- Waits a few seconds for the result and prints it:
applied(and, if possible, a short list of what changed, the same list as the web interface's Review changes page)the config file has a mistake: line 42: ...; nothing changed, the old settings keep runningPaperPi is not running
- Exit status 0 when applied, 1 otherwise (so scripts and systemd can tell).
Works the same in the Docker container (docker exec paperpi paperpi reload, M6). The systemd service file can use it as its reload step (ExecReload=), so systemctl reload paperpi also reports a broken file.
To decide
- How it finds the running PaperPi: the process id in the health report file (
/run/paperpi/health, already written every 30 s), or a separate process id file. - How the result gets back to the command: e.g. the running PaperPi writes "last reload: time, result" into the health report, and
paperpi reloadwaits until it changes (time limit about 15 s). - Whether it also gets a "check only" mode that names mistakes without applying anything.
Not part of the M5 part 4 PR. Until it exists, the Review changes page shows sudo systemctl reload paperpi or kill -HUP <process id>.
Area
core (src/paperpi/cli.py, health.py), docs (README, live-config-reload.md).
- Lingua principale
- Python
- Stelle
- 205
- Fork
- 17
- Merge medio
- 6h 12m
- PR unite (30g)
- 44
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di txoof/PaperPi
-
area:core bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
area:core enhancement hardware
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
area:web needs-decision
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di txoof/PaperPi
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Status: Triage Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
Objects.List treats versions=false (and similar flags) as trueForse già presa @andaaron l’ha presa oggi. Apertapriority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/storage-testbench#829 ·
I maintainer di solito rispondono entro 2 giorni
-
[Bug]: memory provider treats 1:1 DMs as shared surfaces, so DM turns never receive reviewed recordsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
rlaope/oh-my-hermes#2088 ·
I maintainer di solito rispondono entro 1 giorno