để tạo một số thứ đang chạy như dịch vụ, bạn có thể sử dụng thứ này:
Điều đầu tiên mà bạn phải làm là cài đặt các xi măng khung: khung làm việc Xi măng là một tác phẩm khung CLI mà bạn có thể triển khai ứng dụng của bạn trên đó.
giao diện dòng lệnh của ứng dụng:
giao diện
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()
Lớp YourApp.py:
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
Hãy nhớ rằng ứng dụng của bạn phải chạy trên một chủ đề để là daemon
Để chạy ứng dụng, chỉ cần làm điều này trong dòng lệnh
giao diện python - trợ giúp