Thread anreihen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mikesn
User
Beiträge: 1
Registriert: Donnerstag 23. März 2017, 21:41

Hallo Zusammen, ich bin neu hier und blutiger Anfänger. :D
Also, ich brauche ein kleines Script für eine Temperaturüberwachung.

Das ganze sollte so funktionieren:
ich habe einen one-wire sensor der alle 5 sec ausgelesen wird OK
ich habe eine hysteresefunktion, die eine heizung ein- oder ausschaltet wenn die Temperatur erreicht /überschritten ist OK

Wenn ich das laufen lasse ist alles ok, ich möchte aber zum Beispiel die Temperaturregelung als Job haben.
Also ich möchte 2 Stunden / 20 Grad, wenn das fertig ist soll auf 25 Grad geheizt werden für 3 Stunden, usw.
Und solche Jobs möchte ich über ein GET senden können.

Woran ich scheitere ist, wie mache ich einen Thread der eine bestimmte Zeit läuft, und wie bekomme ich es hin, das danach ein neuer angehängt wird?

Code: Alles auswählen

def nummerprint():
	for i in range(10):
		print(i)
		time.sleep(1)
		
t = threading.Thread(target=nummerprint, args=())
t.start()
Gibt es sowas wie ein Thrad.append?

Vl. kann mir jemand helfen? (Ich verwende Python 3.6)

Danke!
Zuletzt geändert von Anonymous am Donnerstag 23. März 2017, 22:32, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Mikesn: Du kannst doch am Ende des Threads einfach einen neuen starten. Oder Du schreibst das so, dass der nicht endet, sondern den nächsten Job ausführt. Oder Du wartest bis der Thread fertig ist (`join()`-Methode) — eventuell in einem Thread der dafür zuständig ist nacheinander Threads zu starten. Oder…

Allgemein würde ich bei so etwas aber eher einen Thread schreiben der Messung und Steuerung dauerhaft nach bestimmten Regeln durchführt, und dem dann bei Gelegenheit, also zum Beispiel nach zwei Stunden, neue Werte für die Regeln zukommen lassen. Beispielsweise über eine `Queue`, was bei Threads eine der einfacheren Möglichkeiten ist sicher zu kommunizieren.

Und für die ”Zeiten” würde ich etwas fertiges wie APScheduler verwenden, bevor man sich das selbst baut.
Antworten