Spaces:
Running on Zero
Running on Zero
File size: 1,234 Bytes
a9bcb69 a6d3251 a9bcb69 a6d3251 a9bcb69 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | """HF CPU release entrypoint. One process owns all ephemeral results."""
import hashlib
import json
from pathlib import Path
from server import create_app
from worker import run_native
ROOT=Path(__file__).resolve().parent
def verify_package(root=ROOT):
manifest=json.loads((root/'RELEASE_MANIFEST.json').read_text())
for name,expected in manifest['files'].items():
path=(root/name).resolve()
if not path.is_relative_to(root.resolve()) or not path.is_file():
raise RuntimeError('Invalid release member')
if hashlib.sha256(path.read_bytes()).hexdigest()!=expected:
raise RuntimeError('Release integrity check failed: '+name)
return manifest
def cpu_worker(track,network,config=None):
return run_native(track,network,binary=ROOT/'bin/altd-sim',
importer=ROOT/'bin/extract_saved_track',
scene_template=ROOT/'assets/formula_template.json',with_report=True,config=config)
def main():
verify_package()
for name in ('altd-sim','extract_saved_track'):
(ROOT/'bin'/name).chmod(0o755)
import uvicorn
uvicorn.run(create_app(worker=cpu_worker),host='0.0.0.0',port=7860,
workers=1,access_log=False)
if __name__=='__main__': main()
|