fun syncRepositoryWithGitHub()

in app/src/main/kotlin/io/klibs/app/job/GitHubRepositoryUpdatingJob.kt [38:56]


    fun syncRepositoryWithGitHub() {
        val reposToUpdate = scmRepositoryRepository.findMultipleForUpdate(reposUpdatedPerCall)
        if (reposToUpdate.isEmpty()) {
            logger.info("Unable to find a repo to update. Skipping.")
        }
        reposToUpdate.forEach { repoToUpdate ->
            try {
                if (repoBackoffProvider.isBackedOff(repoToUpdate.idNotNull)) {
                    logger.debug("Selected repoId=${repoToUpdate.id} ${repoToUpdate.ownerLogin}/${repoToUpdate.name} is in backoff; skipping this run")
                    return@forEach
                }
                githubIndexingService.updateRepo(repoToUpdate)
                repoBackoffProvider.onSuccess(repoToUpdate.idNotNull)
            } catch (e: Exception) {
                logger.error("Error while updating a repo", e)
                repoBackoffProvider.onFailure(repoToUpdate.idNotNull)
            }
        }
    }