jQuery recursive ajax poll utilizando setTimeout para controlar el intervalo de sondeo

$(document).ready(function() {
    (function poll() {
        setTimeout(function() {
            $.ajax({
                url: "/project1/api/getAllUsers",
                type: "GET",
                success: function(data) {
                    console.log("polling");
                },
                dataType: "json",
                complete: poll,
                timeout: 5000
            }), 5000
        });
    })();
});​

Esto sigue ejecutándose tan rápido como el servidor puede responder, pero esperaba que solo se encuestara cada 5 segundos. ¿Alguna sugerencia?

EDITAR: Debo agregar, 5 segundos después de que la solicitud se haya completado sería preferible.

Respuestas a la pregunta(3)

Su respuesta a la pregunta