RSConnect: speed up pin_search by allowing using guid behind the scenes
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 pin_search e i percorsi di ricerca dei GUID utente e contenuto di RSConnect, quindi esamina come vengono memorizzati nella cache i file. Usa le forme URI rsc+guid proposte e le richieste API elencate come guida comportamentale. Il lavoro è completo quando i file memorizzati nella cache possono usare i GUID, le chiamate pin_* ordinarie continuano a funzionare senza GUID forniti dall’utente e il fast path interno è coperto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 59
- Fork
- 11
- Merge medio
- 1h 9m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi 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 rstudio/pins-python
-
.maint
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rstudio/pins-python#280 ·
-
testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rstudio/pins-python#196 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
rstudio/pins-python#354 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
rstudio/pins-python#352 ·
-
Pins ecosystem documentationAperta.documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
rstudio/pins-python#348 ·
Tutte le issue di rstudio/pins-python
Issue simili
-
defect from-review v0.9.2
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
khuisman/mcp-gee-sweet#926 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 84/100
EtanHey/brainlayer#1164 ·
I maintainer di solito rispondono entro 1 giorno
-
bug security
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
yunaremaia/vibeguard#141 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PrismorSec/prismor#599 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
iii-hq/iii#2278 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno