diff --git a/modules/databricks-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/databricks/Main.scala b/modules/databricks-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/databricks/Main.scala index ad141c476..778ec3fed 100644 --- a/modules/databricks-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/databricks/Main.scala +++ b/modules/databricks-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/databricks/Main.scala @@ -9,12 +9,16 @@ package com.snowplowanalytics.snowplow.loader.databricks import cats.effect.{ExitCode, IO, IOApp} -import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking +import scala.concurrent.duration.DurationInt +import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking import com.snowplowanalytics.snowplow.rdbloader.Runner object Main extends IOApp { + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + def run(args: List[String]): IO[ExitCode] = Runner.run[IO, Unit]( args, diff --git a/modules/redshift-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/redshift/Main.scala b/modules/redshift-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/redshift/Main.scala index c988c2fb4..e004ba57e 100644 --- a/modules/redshift-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/redshift/Main.scala +++ b/modules/redshift-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/redshift/Main.scala @@ -10,12 +10,16 @@ package com.snowplowanalytics.snowplow.loader.redshift import cats.effect.{ExitCode, IO, IOApp} import cats.effect.implicits._ -import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking +import scala.concurrent.duration.DurationInt +import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking import com.snowplowanalytics.snowplow.rdbloader.Runner object Main extends IOApp { + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + def run(args: List[String]): IO[ExitCode] = Runner.run[IO, Unit]( args, diff --git a/modules/snowflake-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/snowflake/Main.scala b/modules/snowflake-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/snowflake/Main.scala index 9179e3873..cabbaa81c 100644 --- a/modules/snowflake-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/snowflake/Main.scala +++ b/modules/snowflake-loader/src/main/scala/com/snowplowanalytics/snowplow/loader/snowflake/Main.scala @@ -10,10 +10,15 @@ package com.snowplowanalytics.snowplow.loader.snowflake import cats.effect.{ExitCode, IO, IOApp} import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking - import com.snowplowanalytics.snowplow.rdbloader.Runner +import scala.concurrent.duration.DurationInt + object Main extends IOApp { + + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + def run(args: List[String]): IO[ExitCode] = Runner.run[IO, Snowflake.InitQueryResult]( args, diff --git a/modules/transformer-kafka/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kafka/Main.scala b/modules/transformer-kafka/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kafka/Main.scala index bd86ca2b1..c30dbea57 100644 --- a/modules/transformer-kafka/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kafka/Main.scala +++ b/modules/transformer-kafka/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kafka/Main.scala @@ -16,8 +16,13 @@ import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.kafka.generat import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking import org.apache.hadoop.conf.Configuration +import scala.concurrent.duration.DurationInt + object Main extends IOApp { + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + def run(args: List[String]): IO[ExitCode] = Run.run[IO, KafkaCheckpointer[IO]]( args, diff --git a/modules/transformer-kinesis/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kinesis/Main.scala b/modules/transformer-kinesis/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kinesis/Main.scala index bb7960bc4..94f4bf246 100644 --- a/modules/transformer-kinesis/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kinesis/Main.scala +++ b/modules/transformer-kinesis/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/kinesis/Main.scala @@ -14,12 +14,16 @@ import com.snowplowanalytics.snowplow.rdbloader.aws._ import com.snowplowanalytics.snowplow.rdbloader.common.cloud.{BlobStorage, Queue} import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.common.{Config, Run} import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.kinesis.generated.BuildInfo - import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking +import scala.concurrent.duration.DurationInt + object Main extends IOApp { final val QueueMessageGroupId = "shredding" + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + def run(args: List[String]): IO[ExitCode] = Run.run[IO, KinesisCheckpointer[IO]]( args, diff --git a/modules/transformer-pubsub/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/pubsub/Main.scala b/modules/transformer-pubsub/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/pubsub/Main.scala index 4ec93b52d..5273431e6 100644 --- a/modules/transformer-pubsub/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/pubsub/Main.scala +++ b/modules/transformer-pubsub/src/main/scala/com/snowplowanalytics/snowplow/rdbloader/transformer/stream/pubsub/Main.scala @@ -23,11 +23,15 @@ import com.snowplowanalytics.snowplow.rdbloader.gcp.{GCS, Pubsub} import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.common.Config import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.pubsub.generated.BuildInfo import com.snowplowanalytics.snowplow.rdbloader.transformer.stream.common.Run - import com.snowplowanalytics.snowplow.scalatracker.emitters.http4s.ceTracking +import scala.concurrent.duration.DurationInt + object Main extends IOApp { + override def runtimeConfig = + super.runtimeConfig.copy(cpuStarvationCheckInterval = 10.seconds) + implicit private def logger[F[_]: Sync]: Logger[F] = Slf4jLogger.getLogger[F] def run(args: List[String]): IO[ExitCode] =