diff --git a/Dockerfile b/Dockerfile index 7011088..a938575 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,10 @@ FROM amazoncorretto:17-alpine -COPY ./web/dist/ /web/dist/ -COPY ./target/scala-2.13/WeatherTool-assembly-0.1.1-SNAPSHOT.jar /app.jar +WORKDIR /app + +COPY ./web/dist/ web/dist/ +COPY ./target/scala-2.13/WeatherTool-assembly-0.1.1-SNAPSHOT.jar app.jar VOLUME /app/data -CMD ["java", "-jar", "/app.jar"] \ No newline at end of file +CMD ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/Dockerfile.local b/Dockerfile.local index bd1c4e5..8018270 100644 --- a/Dockerfile.local +++ b/Dockerfile.local @@ -7,9 +7,11 @@ RUN sbt clean assembly FROM amazoncorretto:17-alpine -COPY --from=build /app/web/dist/ /web/dist/ -COPY --from=build /app/target/scala-2.13/WeatherTool-assembly-0.1.1-SNAPSHOT.jar /app.jar +WORKDIR /app + +COPY --from=build /app/web/dist/ web/dist/ +COPY --from=build /app/target/scala-2.13/WeatherTool-assembly-0.1.1-SNAPSHOT.jar app.jar VOLUME /app/data -CMD ["java", "-jar", "/app.jar"] +CMD ["java", "-jar", "app.jar"] diff --git a/README.md b/README.md index d0a7ed7..509ebc5 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,12 @@ Run one file fly scale count 0 ``` +``` +// check display +fly ssh console +df -h +``` + ``` fly scale memory 512 ``` \ No newline at end of file diff --git a/src/main/scala/data/DataService.scala b/src/main/scala/data/DataService.scala index 547b555..85dde00 100644 --- a/src/main/scala/data/DataService.scala +++ b/src/main/scala/data/DataService.scala @@ -55,7 +55,7 @@ class DataService(log: Logger[IO]) { } def getBinaryChunk(offset: Int, length: Int, fileName: String): IO[Array[Byte]] = { - IO { + IO.blocking { val source = Source.fromFile(s"$GRIB_FOLDER/$fileName", "ISO-8859-1") try { source.slice(offset, offset + length).map(_.toByte).toArray diff --git a/src/main/scala/server/Server.scala b/src/main/scala/server/Server.scala index 680748a..ad4ac18 100644 --- a/src/main/scala/server/Server.scala +++ b/src/main/scala/server/Server.scala @@ -62,7 +62,6 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch: case GET -> Root / "show" / "grib-list" => dataService.getFileList().flatMap(fileList => Ok(fileList.asJson)) - // TODO implement binary-chunk/ get request case GET -> Root / "grib" / "binary-chunk" / ValidateInt(binaryOffset) / ValidateInt(binaryLength) / fileName => dataService.getBinaryChunk(binaryOffset, binaryLength, fileName).flatMap(buffer => Ok(buffer))