เพื่อสร้างบางสิ่งที่ทำงานเหมือนบริการคุณสามารถใช้สิ่งนี้:
สิ่งแรกที่คุณต้องทำคือติดตั้งซีเมนต์เฟรมเวิร์กของ : โครงเฟรมซีเมนต์คือโครงเฟรม CLI ที่คุณสามารถปรับใช้แอปพลิเคชันของคุณได้
อินเตอร์เฟสบรรทัดคำสั่งของแอพ:
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:
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
โปรดทราบว่าแอปของคุณต้องทำงานบนเธรดเพื่อให้เป็นดีมอน
หากต้องการเรียกใช้แอปให้ทำในบรรทัดคำสั่ง
หลาม interface.py - ช่วย