Ein eher ungewöhnliches Problem beschäftigt mich seit einigen Tagen - obgleich ich mir natürlich bewusst bin das 'threading' nicht so schön ist
Und zwar schreibe ich aktuell an einem IRC RSS FEED bot, der unterschiedliche RSS Feeds (zZt. 8 Stück) im euIRC announcen soll (und auch schon tut)... Dafür habe ich eine Routine geschrieben die via threading.Timer eine Funktion alle paar Sekunden ausführen soll.
Soweit auch kein Problem.
Ursprünglich hatte ich es so gebaut das alle Feeds auf ein mal abgearbeitet werden - also nur ein mal threading.Timer ausgeführt wurde.
Nun wollte ich aber gerne die Feeds zu unterschiedlichen Zeiten aktualisieren können, also mehrmals threading.Timer ausführen.... Ein Feed nur alle 35s ein anderer aber alle 15s usw
Jetzt sehe ich natürlich mehrere Prozesse, die aber jeweils 97% CPU Auslastung verursachen und das ist nicht so schön weil dann nicht mehr nur ein Core belastet wird sondern alle, und auf einem 1core Pi bremst das alles andere aus
Kennt hier jemand eine Möglichkeit über threading eine maximal "nutzbare" CPU Leistung zuzuteilen - oder so?
Möchte auf time.sleep's an etlichen Stellen gerne verzichten, zumal ich eh glaube das die meiste Last das feedparser Module verursacht...