``` private val actor = actor<List<Campaign...
# coroutines
o
Copy code
private val actor = actor<List<CampaignStatusData>>(
      newFixedThreadPoolContext(nThreads = 1, name = "CampaignsStatusReporter")) {
    val campaignsToUpdate = mutableListOf<CampaignStatusData>()
    for (msg in channel) {
      campaignsToUpdate.addAll(msg)
      if (campaignsToUpdate.size > 1000) {
        updateStatus(campaignsToUpdate)
        campaignsToUpdate.clear()
      }
    }
  }

  override fun updateStatusInBulks(campaigns: List<CampaignStatusData>) {
    actor.
        offer(campaigns).
        orElse {
          throw IllegalStateException("failed to offer to actor")
        }
  }