Thật không tốt khi bám vào các kết nối DB trong thời gian dài vì DB chỉ cung cấp một số lượng kết nối cố định tại một thời điểm bất kỳ; nếu bạn đang sử dụng một cái cho nhiều tuổi, điều đó có nghĩa là DB của bạn có ít năng lực hơn để xử lý các yêu cầu khác, ngay cả khi bạn không thực sự làm bất cứ điều gì với kết nối đó.
Tôi khuyên bạn nên bỏ kết nối nếu chương trình được sử dụng xong trong thời gian này và kết nối lại khi đến lúc thực hiện nhiều công việc DB hơn.
Ngoài ra, giải pháp này sẽ bảo vệ chương trình của bạn khỏi thời gian chết cơ sở dữ liệu có thể xảy ra, tức là nếu bạn cần khởi động lại máy chủ DB của mình (điều này xảy ra, ngay cả trong mạng được hỗ trợ tốt nhất). Nếu bạn giữ cho kết nối tồn tại (tức là một lệnh ping của DB theo các câu trả lời khác), thì một sự kiện như vậy sẽ khiến bạn gặp phải vấn đề giống hệt như bạn đang gặp phải bây giờ. Với một kết nối được quản lý đúng cách bị ngắt khi không cần thiết, bạn có thể để daemon của mình chạy một cách an toàn ngay cả khi bạn đã lên kế hoạch cho thời gian ngừng hoạt động trên DB của mình; miễn là nó vẫn ở chế độ không hoạt động trong thời gian đó, nó không cần phải là điều khôn ngoan hơn.
(Ngoài ra, tôi cũng đặt câu hỏi về sự khôn ngoan của việc viết một chương trình PHP chạy liên tục; PHP được thiết kế cho web yêu cầu trong thời gian ngắn. Nó có thể có khả năng chạy các chương trình daemon dài hạn, nhưng có những công cụ tốt hơn cho công việc này)