queueCtrl.js 993 B

123456789101112131415161718192021222324252627282930
  1. var queueCtrl = angular.module('queueCtrl', ['runsFactory']);
  2. queueCtrl.controller('QueueCtrl', ['$scope', '$routeParams', '$location', 'Runs', function($scope, $routeParams, $location, Runs) {
  3. $scope.runId = $routeParams.runId;
  4. var numberOfTries = 0;
  5. function getRunStatus () {
  6. Runs.get({runId: $scope.runId}, function(data) {
  7. $scope.url = data.params.url;
  8. $scope.status = data.status;
  9. if (data.status.statusCode === 'running' || data.status.statusCode === 'awaiting') {
  10. numberOfTries ++;
  11. // Retrying in 2 seconds (and increasing the delay a bit more each time)
  12. setTimeout(getRunStatus, 2000 + (numberOfTries * 100));
  13. } else if (data.status.statusCode === 'complete') {
  14. $location.path('/result/' + $scope.runId).replace();
  15. } else {
  16. // Handled by the view
  17. }
  18. });
  19. }
  20. getRunStatus();
  21. }]);