badoo / badoo/parallel_cucumber

Support separated worker daemons

Open
#8 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
23
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Requirements...

The 'test publisher' (i.e. parallel_cucumber) makes an ?http service available, through which workers can retrieve the application and test files - probably as zip archives. It publishes its address into the database's 'awaiting workers' table, receives results (again, probably as zips), and unpublishes itself once complete.

Worker-owners monitor the 'awaiting workers' table and somehow coordinate to share resources between 'awaiting workers' tasks, so that if there is only one task, all available suitable workers run it, but resources are evenly and dynamically allocated if additional tasks dis/appear - down to a minimum service level - e.g. min=4 phones. Unclear what happens if several tasks are already at minimum service, and a phone disappears: a task becomes underpowered or is suspended pending workers? Where is the minimum service level defined? What prevents or permits hogs demanding lots more?

Implies worker-owners also register with the database.

'Somehow' suggests a task-resource allocator.

By default, parallel_cucumber will launch its own worker-owner, task-resource allocator, assuming solitary operation and test-execution facilities.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are identified. Start by mapping parallel_cucumber's test publisher, worker-owner, and database "awaiting workers" table, then clarify resource-allocation rules and minimum service-level behavior before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend, databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.