Complexity of async rust
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
The issue names OpsQueue and the async transaction function but no file or test. Start by tracing that function and related async call sites, then evaluate whether the async usage can be simplified or replaced. Done requires an agreed scope and measurable simplification, which the issue does not yet define.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The complexity of OpsQueue in terms of the work being done is not particularly high, OpsQueue does not have many database tables, it performs some queries on these tables and provides a HTTP API and Rust/Python FFI layers.
However the complexity of some of the code that implements this work is quite high, the issue being that this raises the barrier to new contributors and increases time needed to implement new features or maintain existing ones. For example when reading the following code a new (or existing) contributor may begin to scratch their head 😃
async fn transaction<O, E, F>(&mut self, f: F) -> Result<O, E>
where
for<'t> F: FnOnce(Conn<Self::Writable, Tx<'t, '_>>) -> BoxFuture<'t, Result<O, E>>
+ Send
+ Sync
+ 't,
O: Send,
E: From<sqlx::Error> + Send,
The purpose of this issue is as a place to discuss whether it would be possible to simplify/replace any aspects of the code in relation to the async usage.
- Vorherrschende Sprache
- Rust
- Sterne
- 96
- Forks
- 2
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
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 channable/opsqueue
-
Make `submissions_canceled` and `add_chunks_done_to_submissions_failed` migrations bidirectionalOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Alle Issues in channable/opsqueue
Ähnliche Issues
-
area:casework bug criticality:p3 triage:needs-implementation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
registrystack/registry-stack#1623 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
DioxusLabs/anyrender#98 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
leptos-rs/leptos#4885 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
longbridge/gpui-kit#3276 ·
Maintainer antworten meist innerhalb von 1 Tag