launchd.plist模型
django-launchd的Python项目详细描述
安装
$ [sudo] pip install django-launchd
settings.py
INSTALLED_APPS=["django_launchd",]
型号
settings.py
model | ^{ |
---|---|
^{ | launchd.plist model. fields: ^{ |
^{ | launchd.plist Lock class. fields: ^{ |
示例
初始化
importdjango_launchdfromdjango_launchd.modelsimportPlistfiles=django_launchd.files("~/Library/LaunchAgents")forfinfiles:Plist.objects.get_or_create(path=f)Plist.objects.exclude(path__in=files).delete()
锁
foragentinfilter(lambdaa:a.exists,Plist.objects.all()):if<condition>:agent.lock("key")else:agent.unlock("key")
加载/卸载
foragentinfilter(lambdaa:a.exists,Plist.objects.all()):ifagent.locks:agent.unload()else:agent.load()