INNER CODE UNIT · Python
stop_watcher
Nuclear-Marmalade/dataforge · forge/dashboard/app.py:215
def stop_watcher():
_enrichment_stop.wait()
pipeline.stop()
_append_log("Stop signal received")
watcher = threading.Thread(target=stop_watcher, daemon=True)
watcher.start()
stats = pipeline.run(mode=mode, resume=True)
with _enrichment_lock:
_enrichment_stats["total_processed"] = stats.total_processed
_enrichment_stats["emails_found"] = stats.emails_found
_enrichment_stats["tech_stacks_found"] = stats.tech_stacks_found
_enrichment_stats["rate_per_hour"] = stats.rate_per_hour()
if total > 0:
_enrichment_stats["progress_pct"] = min(100.0, stats.total_processed / total * 100)
_append_log(f"Enrichment complete: {stats.total_processed:,} processed")