Refactor scheduler into api / impl

This commit is contained in:
eikek
2022-03-13 14:27:06 +01:00
parent 69765f05ff
commit 3a05dc56cb
50 changed files with 1076 additions and 867 deletions

View File

@ -48,22 +48,22 @@ case class RJob(
object RJob {
def newJob[A](
def newJob(
id: Ident,
task: Ident,
group: Ident,
args: A,
args: String,
subject: String,
submitted: Timestamp,
submitter: Ident,
priority: Priority,
tracker: Option[Ident]
)(implicit E: Encoder[A]): RJob =
): RJob =
RJob(
id,
task,
group,
E(args).noSpaces,
args,
subject,
submitted,
submitter,
@ -77,6 +77,29 @@ object RJob {
None
)
def fromJson[A](
id: Ident,
task: Ident,
group: Ident,
args: A,
subject: String,
submitted: Timestamp,
submitter: Ident,
priority: Priority,
tracker: Option[Ident]
)(implicit E: Encoder[A]): RJob =
newJob(
id,
task,
group,
E(args).noSpaces,
subject,
submitted,
submitter,
priority,
tracker
)
final case class Table(alias: Option[String]) extends TableDef {
val tableName = "job"

View File

@ -30,7 +30,7 @@ class QJobTest extends CatsEffectSuite with StoreFixture with TestLoggingConfig
private val group2 = Ident.unsafe("group2")
def createJob(group: Ident): RJob =
RJob.newJob[Unit](
RJob.fromJson[Unit](
Ident.unsafe(s"job-${c.incrementAndGet()}"),
Ident.unsafe("task"),
group,