feat: release Dever 0.1.4 with enforceable project guidance
This commit is contained in:
1 parent
201bdee372
commit
89629c2197
86 files changed
+2798
-338
No files matched your search
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"database": { "default": { "type": "sqlite", "path": "data/jobs.db" } },
|
||||
"runtime": { "mode": "worker", "shutdown_ms": 30000 },
|
||||
"job": {
|
||||
"workers": 1,
|
||||
"poll_ms": 1000,
|
||||
"lease_ms": 60000,
|
||||
"retry_base_ms": 1000,
|
||||
"retry_max_ms": 300000
|
||||
},
|
||||
"log": { "level": "info" }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
cmd submit = app.submit
|
||||
|
||||
cmd total = app.total
|
||||
@@ -0,0 +1,29 @@
|
||||
type Request {
|
||||
key: Text
|
||||
title: Text
|
||||
}
|
||||
|
||||
submit(input: Request) (id: Id) {
|
||||
id = dever.job.enqueue(job.store, input, input.key)
|
||||
}
|
||||
|
||||
store(input: Request) () {
|
||||
stored = model.create(
|
||||
{
|
||||
request_key = input.key
|
||||
title = input.title
|
||||
}
|
||||
)
|
||||
blocking(
|
||||
dever.log.info(
|
||||
"Report archived",
|
||||
{
|
||||
"request_key" = stored.request_key
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
total() (count: Int) {
|
||||
count = model.count()
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
database default
|
||||
|
||||
job store(input: app.Request) () retry(3) timeout(30000) {
|
||||
app.store(input)
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
type Archive {
|
||||
request_key: Text unique
|
||||
title: Text
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
queued() () {
|
||||
request = app.Request {
|
||||
key = "test-report"
|
||||
title = "Report"
|
||||
}
|
||||
first_id = app.submit(request)
|
||||
assert_eq(app.submit(request), first_id)
|
||||
assert_eq(dever.test.drain_jobs(5), 1)
|
||||
assert_eq(app.total(), 1)
|
||||
dever.test.advance_clock(1000)
|
||||
assert_eq(dever.test.drain_jobs(5), 0)
|
||||
}
|
||||
Reference in new issue
Block a user