fun syncOwnerWithGitHub()

in app/src/main/kotlin/io/klibs/app/indexing/GitHubIndexingService.kt [55:73]


    fun syncOwnerWithGitHub() {
        var selectedOwnerId: Int? = null
        try {
            val ownerToUpdate = scmOwnerRepository.findForUpdate() ?: return

            if (ownerBackoffProvider.isBackedOff(ownerToUpdate.idNotNull)) {
                logger.debug("Selected ownerId={} login={} is in backoff; skipping this run", ownerToUpdate.id, ownerToUpdate.login)
                return
            }
            selectedOwnerId = ownerToUpdate.idNotNull

            val updated = updateOwner(ownerToUpdate)
            logger.debug("Updated GitHub owner: {}", updated)
            ownerBackoffProvider.onSuccess(ownerToUpdate.idNotNull)
        } catch (e: Exception) {
            logger.error("Error while updating a GitHub owner", e)
            selectedOwnerId?.let { ownerBackoffProvider.onFailure(it) }
        }
    }