There is two things you can do to do something many times with intervals.
use setTimeout with function, which will call setTimeout for itself
use setInterval with the function
What about your problem you just need to add some variable in the outer scope and use it, something like
var pipe = []
faye.subscribe('my/channel', function(data) {
pipe.push(data)
})
setTimeout(appendData, 7000)
function appendData() {
if (pipe.length) {
var item = pipe.shift()
$('.my-container').append(...)
}
}