This commit is contained in:
parent
0956477831
commit
5d9e815407
11
src/app.py
11
src/app.py
@ -29,3 +29,14 @@ if config.SENTRY_DSN:
|
|||||||
_experiments={"auto_enabling_integrations": True}
|
_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