Skip to content

Commit 395ca2e

Browse files
try fix intervaltrigger bug in linux
1 parent 2db5e23 commit 395ca2e

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

DeviceManager/devices/temperature_sensor.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import random
55

66
from apscheduler.schedulers.background import BackgroundScheduler
7+
from apscheduler.triggers.interval import IntervalTrigger
8+
79

810
from DeviceManager.config import *
911
from DeviceManager.protocols.http_protocol import http_protocol
@@ -23,7 +25,9 @@ class TemperatureSensor:
2325
def __init__(self, token: str, scheduler: BackgroundScheduler) -> None:
2426
self._token: str = token
2527
self._scheduler = scheduler
26-
self._job = self._scheduler.add_job(self.send, "interval", seconds=1)
28+
self._job = self._scheduler.add_job(
29+
self.send, trigger=IntervalTrigger(seconds=1)
30+
)
2731
self._temperature: float = 0.0
2832
self._humidity: int = 0
2933
self.generateData()

DeviceManager/light_mqtt.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#!/usr/bin/env python3
22

3-
import paho.mqtt.client as mqtt
3+
import json
4+
import threading
45

5-
from apscheduler.schedulers.background import BackgroundScheduler
6+
import paho.mqtt.client as mqtt
67
from apscheduler.schedulers import SchedulerAlreadyRunningError
8+
from apscheduler.schedulers.background import BackgroundScheduler
9+
from apscheduler.triggers.interval import IntervalTrigger
10+
711
from .devices import LightSensor
8-
import threading
9-
import json
1012

1113

1214
class LightMqtt:
@@ -56,6 +58,7 @@ def receiver(self):
5658
"""
5759
Receive data form thingsboard controller.
5860
"""
61+
5962
def wrapper(client, user_data, msg):
6063
"""
6164
Call light sensor method to change the state, the intensity and the color temperature.
@@ -93,7 +96,7 @@ def start(self):
9396
self.client.subscribe(self.topicRecived)
9497
self.client.on_message = self.receiver()
9598
self.job = self.scheduler.add_job(
96-
self.send, "interval", seconds=LightMqtt._socketTimes
99+
self.send, trigger=IntervalTrigger(seconds=LightMqtt._socketTimes)
97100
)
98101
try:
99102
self.scheduler.start()
@@ -105,6 +108,6 @@ def stopThread(self):
105108
"""
106109
Stop all asynchronous processus.
107110
"""
108-
self.scheduler.remove_job(self.job.id)
111+
self.scheduler.remove_all_jobs()
109112
self.client.disconnect()
110113
self.thread.join()

0 commit comments

Comments
 (0)