DL fix again
This commit is contained in:
@@ -3879,7 +3879,8 @@ class _TrackerHandler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_header("Content-Type", "application/x-tar")
|
||||
self.send_header("X-Meshnet-Model-Source", "tracker")
|
||||
self.end_headers()
|
||||
with tarfile.open(fileobj=self.wfile, mode="w|") as archive:
|
||||
# dereference: HF cache snapshots are symlinks into blobs/ — ship contents.
|
||||
with tarfile.open(fileobj=self.wfile, mode="w|", dereference=True) as archive:
|
||||
for rel in rel_files:
|
||||
archive.add(snapshot_dir / rel, arcname=rel)
|
||||
|
||||
@@ -3924,6 +3925,22 @@ class _TrackerHandler(http.server.BaseHTTPRequestHandler):
|
||||
]
|
||||
|
||||
if not hf_nodes:
|
||||
# The caller is not registered yet — count its memory toward
|
||||
# deployability, or the first node can never bootstrap the network.
|
||||
caller = _NodeEntry(
|
||||
node_id="assign-candidate",
|
||||
endpoint="",
|
||||
shard_start=None,
|
||||
shard_end=None,
|
||||
model=None,
|
||||
shard_checksum=None,
|
||||
hardware_profile={},
|
||||
wallet_address=None,
|
||||
score=1.0,
|
||||
vram_bytes=vram_mb * 1024 * 1024,
|
||||
ram_bytes=ram_mb * 1024 * 1024,
|
||||
)
|
||||
pool_with_caller = all_nodes + [caller]
|
||||
resolved_name = None
|
||||
preset = None
|
||||
if filter_repo:
|
||||
@@ -3932,7 +3949,7 @@ class _TrackerHandler(http.server.BaseHTTPRequestHandler):
|
||||
deployable = [
|
||||
(name, preset)
|
||||
for name, preset in server.model_presets.items()
|
||||
if preset.get("recommended") and _deployment_summary(all_nodes, preset)["deployable"]
|
||||
if preset.get("recommended") and _deployment_summary(pool_with_caller, preset)["deployable"]
|
||||
]
|
||||
if deployable:
|
||||
resolved_name, preset = deployable[0]
|
||||
@@ -3951,7 +3968,7 @@ class _TrackerHandler(http.server.BaseHTTPRequestHandler):
|
||||
"num_layers": total_l,
|
||||
"gap_found": True,
|
||||
"price_per_token": 0.0,
|
||||
"deployment": _deployment_summary(all_nodes, preset),
|
||||
"deployment": _deployment_summary(pool_with_caller, preset),
|
||||
"model_sources": self._model_sources(
|
||||
str(resolved_name),
|
||||
preset,
|
||||
@@ -4340,7 +4357,13 @@ class TrackerServer:
|
||||
self._enable_hf_pricing = enable_hf_pricing
|
||||
self._hf_pricing_refresh_interval = hf_pricing_refresh_interval
|
||||
self._hf_pricing_fetch_html = hf_pricing_fetch_html
|
||||
raw_models_dir = models_dir if models_dir is not None else os.environ.get("MESHNET_MODELS_DIR")
|
||||
# MESHNET_DOWNLOAD_DIR is the node-side model store; on a box running
|
||||
# both tracker and node it doubles as the tracker's snapshot source.
|
||||
raw_models_dir = (
|
||||
models_dir
|
||||
if models_dir is not None
|
||||
else os.environ.get("MESHNET_MODELS_DIR") or os.environ.get("MESHNET_DOWNLOAD_DIR")
|
||||
)
|
||||
self._models_dir = Path(raw_models_dir).expanduser() if raw_models_dir else None
|
||||
self._hf_pricing_stop = threading.Event()
|
||||
self._hf_pricing_thread: threading.Thread | None = None
|
||||
|
||||
Reference in New Issue
Block a user