Skip to content

Commit

Permalink
#234 Invalid disapeared analyzers/responders
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Jan 14, 2020
1 parent 9a3f574 commit e287c51
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions app/org/thp/cortex/services/WorkerSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,24 @@ package org.thp.cortex.services
import java.net.URL
import java.nio.file.{Files, Path, Paths}

import javax.inject.{Inject, Provider, Singleton}
import scala.collection.JavaConverters._
import scala.concurrent.{ExecutionContext, Future}
import scala.util.{Failure, Success, Try}

import play.api.libs.json.{JsObject, JsString, Json}
import play.api.libs.ws.WSClient
import play.api.{Configuration, Logger}

import akka.NotUsed
import akka.stream.Materializer
import akka.stream.scaladsl.{Sink, Source}
import org.thp.cortex.models._

import javax.inject.{Inject, Provider, Singleton}
import org.elastic4play._
import org.elastic4play.controllers.{Fields, StringInputValue}
import org.elastic4play.database.ModifyConfig
import org.elastic4play.services._
import org.scalactic._
import org.scalactic.Accumulation._
import org.scalactic._
import org.thp.cortex.models._
import play.api.libs.json.{JsArray, JsObject, JsString, Json}
import play.api.libs.ws.WSClient
import play.api.{Configuration, Logger}

import org.elastic4play.database.ModifyConfig
import scala.collection.JavaConverters._
import scala.concurrent.{ExecutionContext, Future}
import scala.util.{Failure, Success, Try}

@Singleton
class WorkerSrv @Inject()(
Expand Down Expand Up @@ -128,11 +125,21 @@ class WorkerSrv @Inject()(
private def find(queryDef: QueryDef, range: Option[String], sortBy: Seq[String]): (Source[Worker, NotUsed], Future[Long]) =
findSrv[WorkerModel, Worker](workerModel, queryDef, range, sortBy)

def rescan(): Unit =
def rescan(): Unit = {
import org.elastic4play.services.QueryDSL._
scan(
analyzersURLs.map(_ WorkerType.analyzer) ++
respondersURLs.map(_ WorkerType.responder)
)
userSrv.inInitAuthContext { implicit authContext
find(any, Some("all"), Nil)._1.runForeach { worker
workerMap.get(worker.id) match {
case Some(wd) update(worker, Fields.empty.set("dataTypeList", Json.toJson(wd.dataTypeList)))
case None update(worker, Fields.empty.set("dataTypeList", JsArray.empty))
}
}
}
}

def scan(workerUrls: Seq[(String, WorkerType.Type)]): Unit = {
def readUrl(url: URL, workerType: WorkerType.Type): Future[Seq[WorkerDefinition]] =
Expand Down

0 comments on commit e287c51

Please sign in to comment.