pysmtp/server.py

39 lines
700 B
Python
Raw Normal View History

2021-12-28 03:01:00 -03:00
from mayordomo import log, create_async_smtp_server
import daemon
import time
import signal
import asyncio
2021-12-29 15:03:19 -03:00
if not os.environ.get('HEARTBEAT'):
hb = 60 * 15 # 15 minutos
else:
hb = int(os.environ.get('HEARTBEAT'))
2021-12-28 03:01:00 -03:00
def main():
mayordomo = create_async_smtp_server()
async def main_loop():
await log.info('Demonio iniciado')
2021-12-29 15:03:19 -03:00
doki=int(time.time()) + hb
2021-12-28 03:01:00 -03:00
while True:
await asyncio.sleep(1)
i = int(time.time())
if i >= doki:
2021-12-29 15:03:19 -03:00
doki = i + hb
2021-12-28 03:01:00 -03:00
await log.info('Heartbeat')
def run():
mayordomo.start()
signal.signal(signal.SIGTERM, programCleanup)
asyncio.run(main_loop())
def programCleanup():
mayordomo.stop()
run()
if __name__ == '__main__':
main()