Um etwas zu erstellen, das wie ein Dienst ausgeführt wird, können Sie Folgendes verwenden:
Das erste, was Sie tun müssen, ist die Installation des Cement- Frameworks: Cement-Frame-Arbeit ist eine CLI-Frame-Arbeit, auf der Sie Ihre Anwendung bereitstellen können.
Befehlszeilenschnittstelle der App:
interface.py
from cement.core.foundation import CementApp
from cement.core.controller import CementBaseController, expose
from YourApp import yourApp
class Meta:
label = 'base'
description = "your application description"
arguments = [
(['-r' , '--run'],
dict(action='store_true', help='Run your application')),
(['-v', '--version'],
dict(action='version', version="Your app version")),
]
(['-s', '--stop'],
dict(action='store_true', help="Stop your application")),
]
@expose(hide=True)
def default(self):
if self.app.pargs.run:
#Start to running the your app from there !
YourApp.yourApp()
if self.app.pargs.stop:
#Stop your application
YourApp.yourApp.stop()
class App(CementApp):
class Meta:
label = 'Uptime'
base_controller = 'base'
handlers = [MyBaseController]
with App() as app:
app.run()
YourApp.py-Klasse:
import threading
class yourApp:
def __init__:
self.loger = log_exception.exception_loger()
thread = threading.Thread(target=self.start, args=())
thread.daemon = True
thread.start()
def start(self):
#Do every thing you want
pass
def stop(self):
#Do some things to stop your application
Beachten Sie, dass Ihre App auf einem Thread ausgeführt werden muss, um ein Daemon zu sein
Um die App auszuführen, tun Sie dies einfach in der Befehlszeile
python interface.py --help