probablemente sea estúpido, pero no comprendo absolutamente nada de lo que puso gabriela.
dejando eso de lado, hace tiempo quería consultarte una cosa, vos habías propuesto revisar con sockets si el servidor se podía conectar, y si no se podía era porque el sitio estaba offline. Al final ignoro si lo hiciste así o de otra forma, pero eso tenía un inconveniente, el protocolo http tiene un código interno para establecer si el servidor está saturado y otras cosas (los errores 500 por ejemplo), si el server se satura es probable que aún se pueda conectar el socket al servidor http, por lo que la conexión sería satisfactoria y para el código realmente estaría el sitio online, pero aún así el sitio puede tirar error 501 por ejemplo y no estar online.
Es un comentario que hace un tiempo quería expresarte, sobre el código es una gran idea, no lo miré pero debe estar muy bueno.
saludos!