diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-23 14:35:35 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-23 14:35:35 +0200 |
commit | 6e1950535e1eab20b3029c89f989470da503d5ae (patch) | |
tree | 73babf481d1003779986f0640c3abd51e3c32004 /readme.md | |
parent | 4b139e88a1879c8e4add31480bb254cd4e08181f (diff) | |
download | isda-6e1950535e1eab20b3029c89f989470da503d5ae.tar isda-6e1950535e1eab20b3029c89f989470da503d5ae.tar.bz2 isda-6e1950535e1eab20b3029c89f989470da503d5ae.tar.zst |
document the remaining workers
Diffstat (limited to 'readme.md')
-rw-r--r-- | readme.md | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -2,6 +2,21 @@ Generic task queue server with scripts for downloading with different tools. +## Architecture + +There is a central task queue server (isdad) and multiple workers that connect +to that server to complete tasks. + +Tasks have a _key_ which is a string used to identify it and _data_ which is a +arbitrary JSON object. Keys are in the format `kind:id`; The kind is used by the +queue server to determine which workers are able to process the task. + +When workers connect to the queue server they register which tasks kinds they +can process. After that they can accept tasks. Whenever a supported task exists, +it will be assigned to that worker. The worker will then carry out the work and +mark the task as completed. If workers disconnect (crash) while working, all +assigned tasks will be moved back to the queue. + ## Usage First start the queue daemon process. It will save its state to JSON files in |