Skip to content

Instantly share code, notes, and snippets.

View freskog's full-sized avatar

Fredrik Skogberg freskog

  • Dublin, Ireland
View GitHub Profile
@freskog
freskog / DynamicSharding.scala
Last active May 29, 2019 22:16
Shard incoming work over X shards
import java.util.concurrent.TimeUnit
import scalaz.zio._
import scalaz.zio.clock.Clock
import scalaz.zio.duration.Duration
import scala.concurrent.duration._
object DynamicSharding extends App {
import com.rabbitmq.client.{AMQP, Channel, ConnectionFactory, DefaultConsumer, Envelope}
import scalaz.zio._
import scalaz.zio.console.Console
object Runner extends App with DefaultRuntime {
case class AmqpMessage(consumerTag: String,
envelope: Envelope,
properties: AMQP.BasicProperties,
body: Array[Byte],