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

Changing `ActionView._deque.maxlen` in subclasses

Offen
#300 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
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
backend

Rechercherichtung

Beginne mit dem Lesen der ActionView-Implementierung, insbesondere von init_subclass und dem Initialisierungspfad von _deque. Reproduziere die Unterklassenbeispiele aus dem Issue und untersuche, wie die Anfrageverarbeitung die Queue verwendet. Die Umsetzung sollte eine unterstützte Queue-Länge auf Unterklassenebene ermöglichen, ohne dass Anfragen hängen bleiben, und Tests enthalten, die das konfigurierte Maximum abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Is your feature request related to a problem? Please describe.
I tried to lower the length of the ActionView _deque but could not find a way that would not result in a bug

Describe the solution you'd like

I would like to have a method to specify the ActionView queue length, ideally at the subclass definition level.

Describe alternatives you've considered
I tried:

  1. Changing the class attribute
class MyAction(ActionView):
    args = {
        "averages": fields.Integer(
            missing=20,
            example=20,
            description="Number of images to average over",
        )
    }
    # Marshal the response as a string representation of the array
    schema = fields.String()
    _deque = Deque(maxlen=10)
    ...

I believe this is rendered useless by the __init_subclass__ method.

  1. Overwritting the _deque at init:
class MyAction(ActionView):
    args = {
        "averages": fields.Integer(
            missing=20,
            example=20,
            description="Number of images to average over",
        )
    }
    # Marshal the response as a string representation of the array
    schema = fields.String()
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._deque = Deque(maxlen=10)
    ...

This solution is causing the request to hang.

I also tried subclassing __init_subclass__ (?) but to no avail.

Thanks again for your work, sorry for the spam today :)

Vorherrschende Sprache
Python
Sterne
19
Forks
2
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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 labthings/python-labthings

Alle Issues in labthings/python-labthings

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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