Polling-based agent-server architecture #299

Closed
opened 2022-12-06 11:45:23 +01:00 by Jef Roosens · 0 comments

Instead of starting a full websocket connection and everything, the much more easy and manageable solution is using a polling-based system. Builds are scheduled on the server, and agents regularly poll the server for new builds (e.g. every 30s). This would still provide me with more control over builds, yet prevent the solution from becoming too complex.

Stuff to do

  • Move cron daemon to server
    • Schedule new builds when targets are added
    • Reschedule builds when targets are changed
    • Remove scheduled builds when targets are removed
  • Add API endpoint for providing builds to agents
  • Create an agent service that regularly polls for builds
Instead of starting a full websocket connection and everything, the much more easy and manageable solution is using a polling-based system. Builds are scheduled on the server, and agents regularly poll the server for new builds (e.g. every 30s). This would still provide me with more control over builds, yet prevent the solution from becoming too complex. ## Stuff to do - [x] Move cron daemon to server - [x] Schedule new builds when targets are added - [x] Reschedule builds when targets are changed - [x] Remove scheduled builds when targets are removed - [x] Add API endpoint for providing builds to agents - [x] Create an agent service that regularly polls for builds
Jef Roosens added the
enhancement
label 2022-12-06 11:45:23 +01:00
Jef Roosens added this to the 0.5.0 milestone 2022-12-14 18:49:49 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: vieter-v/vieter#299
There is no content yet.