main
HerrHase 4 weeks ago
parent 95eae7282a
commit f9a221d8cf

@ -24,7 +24,7 @@ class Db {
this.data = { this.data = {
'slug': this.slug, 'slug': this.slug,
'date_created_at': dayjs().toISOString(), 'date_created_at': dayjs().toISOString(),
'date_run_at': dayjs().toISOString() 'date_run_started_at': dayjs().toISOString()
} }
db.data.runs.push(run) db.data.runs.push(run)

@ -1,3 +1,5 @@
import State from './_state.ts'
/** /**
* Docket * Docket
* *
@ -17,7 +19,9 @@ class Docket {
private data: object private data: object
private options: object private options: object
private db: object private db: object
private states: array
/** /**
* *
* *
@ -27,6 +31,7 @@ class Docket {
public constructor(config: object, db: object) { public constructor(config: object, db: object) {
this.config = config this.config = config
this.db = db this.db = db
this.states = []
} }
public getData() { public getData() {
@ -48,6 +53,23 @@ class Docket {
public getDb(): object { public getDb(): object {
return this.db return this.db
} }
public addState(value: State) {
this.states.push(value)
}
public hasState(value: State) {
let result = false
for (let index in this.states) {
if (this.states[index] == value) {
result = true
break
}
}
return result
}
} }
export default Docket export default Docket

@ -4,6 +4,7 @@ import Docket from './_docket.ts'
import { resolveActionClass } from './helpers/resolver.ts' import { resolveActionClass } from './helpers/resolver.ts'
import logger from './helpers/logger.ts' import logger from './helpers/logger.ts'
import State from './_state.ts'
/** /**
* run through a single config, getting each action with config * run through a single config, getting each action with config
@ -18,6 +19,11 @@ async function run(config: object) {
let db = new Db(config.slug) let db = new Db(config.slug)
let docket = new Docket(config, db) let docket = new Docket(config, db)
// update db
await db.update({
'date_started_at': dayjs().toISOString()
})
logger(config.slug).info('has started') logger(config.slug).info('has started')
@ -46,10 +52,12 @@ async function run(config: object) {
logger(config.slug).info('has finished') logger(config.slug).info('has finished')
// update db // update db only state FINISHED is set
await db.update({ if (docket.hasState(State.FINISHED)) {
'date_run_at': dayjs().toISOString() await db.update({
}) 'date_finished_at': dayjs().toISOString()
})
}
return docket return docket
} }

@ -0,0 +1,14 @@
/**
*
*
* @author Björn Hase <me@herr-hase.wtf>
* @license http://opensource.org/licenses/MIT The MIT License
* @link https://git.node001.net/HerrHase/super-hog.git
*
*/
enum State {
FINISHED
}
export default State
Loading…
Cancel
Save