mirror of
https://github.com/codex-storage/nim-codex.git
synced 2025-02-17 23:36:33 +00:00
[wip] rename the experiment to task_runner_streams
This commit is contained in:
parent
8ea2a9429a
commit
c01986c7a5
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -175,9 +175,9 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
make test
|
make test
|
||||||
|
|
||||||
- name: Build and run localstore experiment
|
- name: Build and run task_runner_streams experiment
|
||||||
if: matrix.target.os != 'windows'
|
if: matrix.target.os != 'windows'
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: nim-dagger
|
working-directory: nim-dagger
|
||||||
run: |
|
run: |
|
||||||
./env.sh nimble localstore
|
./env.sh nimble task_runner_streams
|
||||||
|
@ -39,7 +39,7 @@ task testAll, "Build & run Waku v1 tests":
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
task localstore, "Build localstore experiment":
|
task task_runner_streams, "Build task_runner_streams experiment":
|
||||||
const
|
const
|
||||||
build_opts =
|
build_opts =
|
||||||
when defined(danger) or defined(release):
|
when defined(danger) or defined(release):
|
||||||
@ -58,7 +58,7 @@ task localstore, "Build localstore experiment":
|
|||||||
|
|
||||||
common_opts =
|
common_opts =
|
||||||
" --define:ssl" &
|
" --define:ssl" &
|
||||||
" --out:build/localstore" &
|
" --out:build/task_runner_streams" &
|
||||||
" --threads:on" &
|
" --threads:on" &
|
||||||
" --tlsEmulation:off"
|
" --tlsEmulation:off"
|
||||||
|
|
||||||
@ -86,8 +86,8 @@ task localstore, "Build localstore experiment":
|
|||||||
(when host != "": " --define:host=" & host else: "") &
|
(when host != "": " --define:host=" & host else: "") &
|
||||||
(when maxRequestBodySize != "": " --define:maxRequestBodySize=" & maxRequestBodySize else: "") &
|
(when maxRequestBodySize != "": " --define:maxRequestBodySize=" & maxRequestBodySize else: "") &
|
||||||
(when port != "": " --define:port=" & port else: "") &
|
(when port != "": " --define:port=" & port else: "") &
|
||||||
" experiments/localstore.nim",
|
" experiments/task_runner_streams.nim",
|
||||||
"build/localstore"
|
"build/task_runner_streams"
|
||||||
]
|
]
|
||||||
|
|
||||||
for command in commands:
|
for command in commands:
|
||||||
|
@ -4,20 +4,20 @@ import pkg/[chronicles, stew/byteutils, task_runner]
|
|||||||
import pkg/[chronos/apps/http/httpcommon, chronos/apps/http/httpserver]
|
import pkg/[chronos/apps/http/httpcommon, chronos/apps/http/httpserver]
|
||||||
|
|
||||||
logScope:
|
logScope:
|
||||||
topics = "localstore"
|
topics = "experiment"
|
||||||
|
|
||||||
type LocalstoreArg = ref object of ContextArg
|
type ExperimentArg = ref object of ContextArg
|
||||||
|
|
||||||
const
|
const
|
||||||
|
experiment = "experiment"
|
||||||
host {.strdefine.} = "127.0.0.1"
|
host {.strdefine.} = "127.0.0.1"
|
||||||
localstore = "localstore"
|
|
||||||
maxRequestBodySize {.intdefine.} = 10 * 1_048_576
|
maxRequestBodySize {.intdefine.} = 10 * 1_048_576
|
||||||
port {.strdefine.} = "30080"
|
port {.strdefine.} = "30080"
|
||||||
|
|
||||||
proc localstoreContext(arg: ContextArg) {.async, gcsafe, nimcall,
|
proc experimentContext(arg: ContextArg) {.async, gcsafe, nimcall,
|
||||||
raises: [Defect].} =
|
raises: [Defect].} =
|
||||||
|
|
||||||
let contextArg = cast[LocalstoreArg](arg)
|
let contextArg = cast[ExperimentArg](arg)
|
||||||
discard
|
discard
|
||||||
|
|
||||||
proc readFromStreamWriteToFile(rfd: int, destPath: string)
|
proc readFromStreamWriteToFile(rfd: int, destPath: string)
|
||||||
@ -56,7 +56,7 @@ proc main() {.async.} =
|
|||||||
createDir(destDir)
|
createDir(destDir)
|
||||||
|
|
||||||
var
|
var
|
||||||
localstoreArg = LocalstoreArg()
|
experimentArg = ExperimentArg()
|
||||||
runner = TaskRunner.new
|
runner = TaskRunner.new
|
||||||
runnerPtr {.threadvar.}: pointer
|
runnerPtr {.threadvar.}: pointer
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ proc main() {.async.} =
|
|||||||
else:
|
else:
|
||||||
(0, true)
|
(0, true)
|
||||||
|
|
||||||
asyncSpawn readFromStreamWriteToFile(runner, localstore, rfd.int, destPath)
|
asyncSpawn readFromStreamWriteToFile(runner, experiment, rfd.int, destPath)
|
||||||
await request.getBodyReader.tryGet.readMessage(pred)
|
await request.getBodyReader.tryGet.readMessage(pred)
|
||||||
await writer.closeWait
|
await writer.closeWait
|
||||||
discard request.respond(Http200)
|
discard request.respond(Http200)
|
||||||
@ -108,11 +108,11 @@ proc main() {.async.} =
|
|||||||
|
|
||||||
setControlCHook(stop)
|
setControlCHook(stop)
|
||||||
|
|
||||||
runner.createWorker(pool, localstore, localstoreContext, localstoreArg, 8)
|
runner.createWorker(pool, experiment, experimentContext, experimentArg, 8)
|
||||||
runner.workers[localstore].worker.awaitTasks = false
|
runner.workers[experiment].worker.awaitTasks = false
|
||||||
await runner.start
|
await runner.start
|
||||||
server.start
|
server.start
|
||||||
asyncSpawn runner.scheduleStop(10.seconds)
|
# asyncSpawn runner.scheduleStop(10.seconds)
|
||||||
|
|
||||||
while runner.running.load: poll()
|
while runner.running.load: poll()
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user