Hi @i960 I had a similar problem myself recently. I also created an event to be fired when each job completes.
In my event handler, I create a notification which in my case, I save to a database table that I created for notifications. You could even use a session I suppose.
On the page that is waiting for the notification, I simply use ajax to keep calling a method that reads my notifications in the db and changes a div with the notification message.
EDIT: Here's my Ajax if it might help. $('#ajaxRefresh').on('click', is just a button I click to show progress.
var timeoutId = null;
$('#ajaxRefresh').on('click', function(event) {
event.preventDefault();
$('i.fa-refresh').toggleClass('fa-spin');
if ($( "i.fa-refresh").hasClass('fa-spin')) {
$('#ajaxRefresh').html('<i class="fa fa-refresh fa-spin"></i> Hide Progress');
showProgress();
} else {
$('#ajaxRefresh').html('<i class="fa fa-refresh"></i> View Progress');
clearTimeout(timeoutId);
}
$("#progress").toggleClass('hide');
});
function showProgress() {
var progress = $.ajax({
type: 'GET',
url: '{{ route('ajaxResults') }}',
async: false
}).complete(function() {
timeoutId = setTimeout(function() {
showProgress();
}, 5000);
}).responseText;
//alert(progress);
$("#progress").html(progress);
}