deploy fails to redeploy due to global config
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia tracciando il modo in cui il comando deploy legge e scrive lo stato nella directory rsconnect-python del progetto e nel percorso globale /Users/{ME}/Library/Application Support/rsconnect-python. Riproduci la sequenza di eliminazione e nuovo deploy con l’ID applicazione di esempio, quindi determina come dovrebbe comportarsi lo stato quando il progetto viene spostato. Il lavoro è completato quando un nuovo deploy crea una nuova applicazione senza dipendere dallo stato globale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Replaces https://github.com/posit-dev/connect/issues/30437
System details
OS Version : OSX Sonoma
Problem Statement
Creating it as a "bug" because it could be perceived as one from the users.
Steps to Reproduce
- Deploy an application (I'm using a streamlit dashboard, but shouldn't matter)
- The application is deployed with an ID, for example:
87a2d580-58fd-4e85-9027-c7946958806c
- The application is deployed with an ID, for example:
- Delete the application
Removed application 87a2d580-58fd-4e85-9027-c7946958806c ("main")
- Deploy the same application again
- The deploy fails with an error:
Posit Connect reported an error (calling /__api__/applications/87a2d580-58fd-4e85-9027-c7946958806c): The requested object does not exist.
- The deploy fails with an error:
Actual Behavior
The deploy fails because it tries to reuse an application that was deleted.
This happens even when the user deletes the rsconnect-python directory from the application itself.
That is caused by rsconnect-python saving a global state in /Users/{ME}/Library/Application Support/rsconnect-python where the application ID is stored.
There are 3 problems that I see:
- The user is unable to deploy the application again after deleting it
rsconnect-pythonbehaviour is different based on the computer where it gets run as the global state is different- Moving the project directory around causes a mismatch between the global state and the project state (because the global state stores the PATH) even though the project is the same and its state didn't change.
Expected Behavior
- Doing the deploy again succeeds and creates a new application
- There is no global state.
- I think it's perfectly reasonable to store the state in the application itself (as it already does within the
$PROJECT_DIR/rsconnect-pythonsubdirectory) so that it can be committed.
- I think it's perfectly reasonable to store the state in the application itself (as it already does within the
- Lingua principale
- Python
- Stelle
- 37
- Fork
- 28
- Merge medio
- 1g 3h
- PR unite (30g)
- 7
Guida per i contributori
Apri la 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 posit-dev/rsconnect-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
posit-dev/rsconnect-python#786 · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
posit-dev/rsconnect-python#543 · 2 commenti ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
posit-dev/rsconnect-python#513 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
posit-dev/rsconnect-python#178 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
posit-dev/rsconnect-python#855 ·
Tutte le issue di posit-dev/rsconnect-python
Issue simili
-
Add: hunch Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
DiamondLightSource/dodal#2211 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
openml/openml-python#1749 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sipyourdrink-ltd/bernstein#6191 ·