From 3c30b42f75ecb0b3cae3e66df04f309bcc9d2045 Mon Sep 17 00:00:00 2001 From: edipretoro Date: Sat, 3 Jan 2026 09:52:11 +0100 Subject: [PATCH] Refactoring the main function to use multiprocessing.Process to run scrapy --- scrarls.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/scrarls.py b/scrarls.py index 63f33a2..af1a7bd 100644 --- a/scrarls.py +++ b/scrarls.py @@ -4,6 +4,7 @@ import re import sys from datetime import datetime +from multiprocessing import Process import scrapy from scrapy.crawler import CrawlerProcess @@ -179,5 +180,20 @@ def run_scrapy(): process.start() +def main(): + p_scrapy = Process(target=run_scrapy) + + try: + p_scrapy.start() + except KeyboardInterrupt: + print(f"Closing...") + p_scrapy.terminate() + p_scrapy.join(timeout=30) + if p_scrapy.is_alive(): + print("⚠️ Scrapy n'a pas pu s'arrêter proprement.") + p_scrapy.kill() + print(f"scrarls is stopped.") + + if __name__ == "__main__": sys.exit(main())