 		, (err, response, body) ->
 			if err?
 				winston.error "Error at fetchCommit #{commit.sha}", err, response, body
-				return callback()
+				return apiJobs.enqueue thisJob
 			if response.statusCode >= 400
 				winston.error "Bad response at fetchCommit #{commit.sha}", body
-				return callback()
+				return apiJobs.enqueue thisJob
 			changes = []
 			items = JSON.parse(body)?.files
 			unless items?
 				winston.error "Field files.items does not exist at fetchCommit #{commit.sha}"
-				return callback()
+				return apiJobs.enqueue thisJob
 			async.each items, (item, callback) ->
 				fileName = item.filename
 				changesMade = item.changes

		, (err, response, body) ->
			if err?
				winston.error "Error at fetchRepoCommits for repo #{repo.fullName} since #{logDate}", err, response, body
				return callback()
			if response.statusCode >= 400
				winston.error "Bad response at fetchRepoCommits for repo #{repo.fullName} since #{logDate}", body
				return callback()
			items = JSON.parse body
			unless items?
				winston.error "Field items does not exist at fetchRepoCommits for repo #{repo.fullName} since #{logDate}"
				return callback()
			if items.length > 0
				if date isnt ''
					items.shift()

		, (err, response, body) ->
			if err?
				winston.error "Error at fetchRepoLanguages for repo #{repo.fullName}", err, response, body
				return apiJobs.enqueue thisJob
			if response.statusCode >= 400
				winston.error "Bad response at fetchRepoLanguages for repo #{repo.fullName}", body
				return apiJobs.enqueue thisJob
			languages = []
			for language, lineCount of JSON.parse body
				languages.push language: language, lineCount: lineCount
