Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Complexity of async rust

Offen
#188 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Refactoring
Klarheit
Muss geklärt werden
Aktivitätsstatus
Aktiv
Tech-Stack
python, rust
Bereich
backend

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

discussion

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus channable/opsqueue

Alle Issues in channable/opsqueue

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.