Wpis z mikrobloga

Korzysta ktoś może z redisa, albo tworzył kolejkę zadaniową?

Używam tego przykładu:
https://testdriven.io/blog/developing-an-asynchronous-task-queue-in-python/

A pytanie... Czy jeśli mam ten serwer kolejkowy, to konieczny jest ten while True? wygląda jakby cały czas mi odpytywał redisa o zawartość kolejki (LLEN) w redis.cli monitor, i dopiero jak coś tam jest, to się tym zajmuje. Czy to zawsze działa w tę stronę?

#programowanie
#python
źródło: comment_1581516492AHktzTzSU54lS2oooUaTGq.jpg
  • 7
wygląda jakby cały czas mi odpytywał redisa o zawartość kolejki (LLEN) w redis.cli monitor, i dopiero jak coś tam jest, to się tym zajmuje. Czy to zawsze działa w tę stronę?


@blend: A jak inaczej byś to widział?
Założenie jest takie, że zadania są dodawane niezależnie z różnych miejsc więc worker nie ma pojęcia czy coś przyszło bez odpytania bazy.

Możesz sobie zrobić serwer/zarządcę który będzie jedynym miejscem dodającym zadania ale
@blend:
1. co do while True to po prostu metoda żeby serwer był cały czas odpalony i mógł czekać na zadania
2. co do odpytywania serwera czy są nowe taski to moża to "trochę" odwrócić, poczytaj o Pub Sub (publish subscribe)

A tak z punktu widzenia aplikacji którą trzeba oprzeć na kolejkowaniu zadań (ale tak żeby nie implementować samemu wszystkiego) to python-rq jest spoko :)
https://python-rq.org/