This commit is contained in:
parent
0956477831
commit
5d9e815407
@ -1 +1 @@
|
||||
sentry_sdk
|
||||
sentry_sdk
|
||||
|
11
src/app.py
11
src/app.py
@ -29,3 +29,14 @@ if config.SENTRY_DSN:
|
||||
_experiments={"auto_enabling_integrations": True}
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Main function
|
||||
:return:
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
59
src/utils/loopingtimer.py
Normal file
59
src/utils/loopingtimer.py
Normal file
@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env python3
|
||||
from threading import Timer
|
||||
|
||||
"""
|
||||
Timer module that looptydoops the entire software
|
||||
"""
|
||||
|
||||
__author__ = "@tormakris"
|
||||
__copyright__ = "Copyright 2020, Birbnetes Team"
|
||||
__module_name__ = "loopingtimer"
|
||||
__version__text__ = "1"
|
||||
|
||||
|
||||
class LoopingTimer:
|
||||
"""
|
||||
Looping timer. Executes a function and repeates it in the given interval.
|
||||
"""
|
||||
def __init__(self, interval, function, *args, **kwargs):
|
||||
"""
|
||||
Initialize class
|
||||
:param interval:
|
||||
:param function:
|
||||
:param args:
|
||||
:param kwargs:
|
||||
"""
|
||||
self._timer = None
|
||||
self.interval = interval
|
||||
self.function = function
|
||||
self.args = args
|
||||
self.kwargs = kwargs
|
||||
self.is_running = False
|
||||
self.start()
|
||||
|
||||
def _run(self) -> None:
|
||||
"""
|
||||
Run once
|
||||
:return:
|
||||
"""
|
||||
self.is_running = False
|
||||
self.start()
|
||||
self.function(*self.args, **self.kwargs)
|
||||
|
||||
def start(self) -> None:
|
||||
"""
|
||||
Start running
|
||||
:return:
|
||||
"""
|
||||
if not self.is_running:
|
||||
self._timer = Timer(self.interval, self._run)
|
||||
self._timer.start()
|
||||
self.is_running = True
|
||||
|
||||
def stop(self) -> None:
|
||||
"""
|
||||
Stop running
|
||||
:return:
|
||||
"""
|
||||
self._timer.cancel()
|
||||
self.is_running = False
|
Loading…
Reference in New Issue
Block a user