I'm new to parallel programming and ZIO, i'm trying to get data from an API, by parallel requests.

```
import sttp.client._
import zio.{Task, ZIO}

ZIO.foreach(files) { file =>
    getData(file)
    Task(file.getName)
  }

def getData(file: File) = {

  val data: String = readData(file)
  val request = basicRequest.body(data).post(uri"$url")
      .headers(content -> "text", char -> "utf-8")
      .response(asString)

  implicit val backend: SttpBackend[Identity, Nothing, NothingT] = HttpURLConnectionBackend()
  request.send().body

  resquest.Response match {
    case Success(value) => {
        val src = new PrintWriter(new File(filename))
        src.write(value.toString)
        src.close()
      }
    case Failure(exception) => log error
  }

```

when i execute the program sequentially, it work as expected,
if i tried to run parallel, by changing `ZIO.foreach` to `ZIO.foreachPar`.
The program is terminating prematurely, i get that, i'm missing something basic here,
any help is appreciated to help me figure out the issue.