Pavle (Tišnovský). Soukromý dotaz - jak to zvládáte psát články jako tento tak často? Pomáhá vám někdo, nebo se to fakt dá zvládnout a ještě normálně pracovat? :-)
Jinak děkuji, opět jsem se něco přiučil.
Dobrý den,
po večerech, ale zrovna s Redisem něco zkouším v práci (takovej proof of koncept, máme tam úplně jiné řešení, které je divné .-), takže jsem to vzal jako příležitost ke studiu.
Kdybych chtěl použít pub/sub pro předávání velkých objemů dat (zpracování polí z numpy), má smysl napřed uložit do redisu tato data pod nějakým unikátním klíčem a do pub-sub poslat jen tento klíč? Chtěl bych udělat nějakou obdobu message busu pro výpočty, takovou lehkotonážní Kafku.
Takhle bych to asi nekomplikoval. K tomuto účelu se dá od Redis 5.0.0 použít streamy. Ale je to tam dost horká novinka a nejsem si jist, že i v 5.0.2 to nebude bez chyby: https://redis.io/topics/streams-intro
Mrkni se na Dask distributed a nedavno pridanou podporu pro Arrow/Parquet. Pri predavani velkych kusu dat po ceste numpy-Python-C driver komunikujici pres sit je zadouci zamezit opakovanemu kopirovani pameti.
čekání nemusíte implementovat ručně, můžete můžete použít některý z asynchronních klientů
třeba s https://github.com/aio-libs/aioredis
channel = await sub.subscribe('kanal1')
while await channel.wait_message():
msg = await channel.get(encoding='utf-8')