RSConnect: speed up pin_search by allowing using guid behind the scenes
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par suivre pin_search et les chemins de recherche des GUID utilisateur et contenu de RSConnect, puis examinez comment les fichiers sont mis en cache. Utilisez les formes d’URI rsc+guid proposées et les requêtes API listées comme guide du comportement. C’est terminé lorsque les fichiers mis en cache peuvent utiliser des GUIDs, que les appels pin_* ordinaires fonctionnent toujours sans GUIDs fournis par l’utilisateur et que le fast path interne est couvert.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Currently, python pins with RSConnect needs to look up the user and content guid for actions like
fs.info("michael.chow/mtcars")
however, looking up the user guid requires iterating through all users. This is an expensive operation that R pins does as little as possible by using the guids whenver possible (through a local cache file).
Let's support something like
# similar protocol format to sqlalchemy uris
# may need to use "rsc://guid+<user_guid>
fs.info("rsc+guid://<user_guid>") # GET v1/users/{guid}
fs.info("rsc+guid://<user_guid>/<content_name>") # GET v1/content?name=<content_name>?user_guid=<user_guid>
fs.info("rsc+guid://content/<content_guid>") # GET v1/content/<content_guid>
Note that we must meet these criteria...
- Files are cached correctly (e.g. could use the guids for everything in the cache)
- Users do not need to specify guid in
pin_*methods - We could allow users to specify guid in
pin_*methods if it's not a lot of work. Otherwise, could start by having pins use it as an internal fast path.
- Langage dominant
- Python
- Étoiles
- 59
- Forks
- 11
- Merge moyen
- 1 h 9 min
- PR mergées (30 j)
- 1
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rstudio/pins-python
-
.maint
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
rstudio/pins-python#280 ·
-
Test board github with a tokenOuvertetesting
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
rstudio/pins-python#196 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
rstudio/pins-python#354 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 55/100
rstudio/pins-python#352 ·
-
Pins ecosystem documentationOuverte.documentation
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
rstudio/pins-python#348 ·
Toutes les issues de rstudio/pins-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
area:docs
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
RailtownAI/railtracks#1633 ·
Les mainteneurs répondent en général sous 2 jours
-
review-panel severity:low
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
kristovatlas/coin-accounting#152 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation :blue_book:
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
PennyLaneAI/pennylane#10280 ·
Les mainteneurs répondent en général sous 2 jours
-
`pipx reinstall` prints a Python traceback when the reinstall failsPeut-être pris @ParamTanna l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour