Skip to content

Skroutz 0.8.0#3

Merged
bill-kolokithas merged 3 commits intoupstream-0.8.0from
skroutz-0.8.0
Mar 4, 2026
Merged

Skroutz 0.8.0#3
bill-kolokithas merged 3 commits intoupstream-0.8.0from
skroutz-0.8.0

Conversation

@bill-kolokithas
Copy link
Copy Markdown
Member

@bill-kolokithas bill-kolokithas commented Mar 2, 2026

Non-forking workers (fork_per_job) for resque-pool 0.8.0

Rebases the skroutz fork_per_job feature from our 0.4.0 fork onto upstream 0.8.0.

What

Adds support for configuring queues to skip forking per job, using an extended YAML syntax:

# standard syntax (unchanged)
foo: 4

# extended syntax with fork_per_job
bar:
  - workers: 4
  - fork_per_job: false

Both syntaxes can be mixed in the same config file.

Changes

  • config_get_worker_count — parses both integer and array config formats
  • fork_enabled_for_queues? — checks fork_per_job setting per queue group
  • worker_delta_for — updated to use config_get_worker_count
  • create_worker — sets worker.fork_per_job based on config
  • Version bumped to 0.8.0.skroutz.1

Allows configuring queues to run without forking per job, using an
extended YAML config syntax:

  my_queue:
    - workers: 4
    - fork_per_job: false

This is needed for long-running worker processes where fork overhead
is undesirable (e.g. workers that maintain persistent connections or
large in-memory caches).

Methods added:
- config_get_worker_count: parses both integer and array config syntax
- fork_enabled_for_queues?: checks fork_per_job setting per queue group

Methods modified:
- worker_delta_for: uses config_get_worker_count for extended syntax
- create_worker: sets worker.fork_per_job based on config

Ported from skroutz resque-pool 0.4.0 fork, adapted for 0.8.0 base.
Tests both pure extended syntax (skroutz.yml) and mixed syntax
(mixed.yml) where some queues use integer counts and others use the
array-of-hashes format. Covers config parsing, worker count extraction,
fork_per_job detection, and actual worker creation.

Ported from skroutz resque-pool 0.4.0 fork specs.
@bill-kolokithas bill-kolokithas self-assigned this Mar 2, 2026
@bill-kolokithas bill-kolokithas merged commit 83b26b0 into upstream-0.8.0 Mar 4, 2026
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant