Store solr migration state in a solr document

This commit is contained in:
eikek
2021-06-07 16:46:43 +02:00
parent c879fdf460
commit 5205ee0623
10 changed files with 224 additions and 55 deletions

View File

@ -18,7 +18,9 @@ object FtsWork {
def reInitializeTasks[F[_]: Monad]: FtsWork[F] =
FtsWork { ctx =>
val migrations =
ctx.fts.initialize.map(fm => fm.changeResult(_ => FtsMigration.Result.workDone))
ctx.fts.initializeNew.map(fm =>
fm.changeResult(_ => FtsMigration.Result.workDone)
)
NonEmptyList.fromList(migrations) match {
case Some(nel) =>

View File

@ -20,8 +20,10 @@ object MigrationTask {
.log[F, Unit](_.info(s"Running full-text-index migrations now"))
.flatMap(_ =>
Task(ctx =>
Migration[F](cfg, fts, ctx.store, ctx.logger)
.run(migrationTasks[F](fts))
for {
migs <- migrationTasks[F](fts)
res <- Migration[F](cfg, fts, ctx.store, ctx.logger).run(migs)
} yield res
)
)
@ -44,7 +46,7 @@ object MigrationTask {
Some(DocspellSystem.migrationTaskTracker)
)
def migrationTasks[F[_]: Effect](fts: FtsClient[F]): List[Migration[F]] =
fts.initialize.map(fm => Migration.from(fm))
def migrationTasks[F[_]: Effect](fts: FtsClient[F]): F[List[Migration[F]]] =
fts.initialize.map(_.map(fm => Migration.from(fm)))
}