2023-05-14 15:48:52 +03:00
|
|
|
package server
|
|
|
|
|
import cats.effect._
|
2023-05-17 01:20:01 +03:00
|
|
|
import cats.implicits.catsSyntaxTuple2Parallel
|
2023-05-20 21:53:03 +03:00
|
|
|
|
2023-05-14 15:48:52 +03:00
|
|
|
import db.DBService
|
2023-05-20 21:53:03 +03:00
|
|
|
import fetch.FileFetchScheduler
|
2023-05-14 15:48:52 +03:00
|
|
|
|
|
|
|
|
object Main extends IOApp {
|
|
|
|
|
def run(args: List[String]): IO[ExitCode] = {
|
2023-05-20 20:20:14 +03:00
|
|
|
for {
|
|
|
|
|
dbService <- DBService.of
|
2023-05-20 21:53:03 +03:00
|
|
|
fileFetchScheduler <- FileFetchScheduler.of(dbService)
|
|
|
|
|
schedulerTask = fileFetchScheduler.run.compile.drain
|
|
|
|
|
serverTask = Server.run
|
|
|
|
|
exitCode <- (serverTask, schedulerTask).parMapN((_, _) => ExitCode.Success)
|
2023-05-20 20:20:14 +03:00
|
|
|
} yield exitCode
|
2023-05-14 15:48:52 +03:00
|
|
|
}
|
|
|
|
|
}
|