RSConnect: speed up pin_search by allowing using guid behind the scenes
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne damit, pin_search und die RSConnect-Pfade zur Ermittlung von Benutzer- und Inhalts-GUIDs nachzuverfolgen, und untersuche anschließend, wie Dateien zwischengespeichert werden. Verwende die vorgeschlagenen rsc+guid-URI-Formen und die aufgeführten API-Anfragen als Verhaltensleitfaden. Erledigt ist die Aufgabe, wenn zwischengespeicherte Dateien GUIDs verwenden können, gewöhnliche pin_* Aufrufe weiterhin ohne vom Benutzer bereitgestellte GUIDs funktionieren und der interne Fast Path abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 59
- Forks
- 11
- Ø Merge
- 1 Std. 9 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus rstudio/pins-python
-
.maint
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
rstudio/pins-python#280 ·
-
testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
rstudio/pins-python#196 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 55/100
rstudio/pins-python#354 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 55/100
rstudio/pins-python#352 ·
-
.documentation
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
rstudio/pins-python#348 ·
Alle Issues in rstudio/pins-python
Ähnliche Issues
-
json_params_matcher fails on falsy top-level JSON primitives (0, False, "")Evtl. vergeben @mayureshsonawane17 hat das heute übernommen. OffenWaiting for: Product Owner
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
bojieli/ai-agent-book#1169 ·
Maintainer antworten meist innerhalb von 1 Tag
-
priority:low ready-for-dev
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
OpenHands/extensions#738 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
micronaut-projects/micronaut-core#13677 ·
Maintainer antworten meist innerhalb von 1 Tag