Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: optionally allow developers to control enqueuing #17

Open
ramontayag opened this issue Apr 25, 2019 · 2 comments
Open

Feature: optionally allow developers to control enqueuing #17

ramontayag opened this issue Apr 25, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@ramontayag
Copy link
Contributor

ramontayag commented Apr 25, 2019

We use sidekiq-cron and noticed that at one point, jobs stop being enqueued. We already use this gem to see if jobs stop running, and thought that we could use the same mechanism to detect times when jobs stop getting enqueued.

Are you open to a feature where we can control the enqueueing of SidekiqAlive::Worker? By default, it would requeue itself, but if you pass requeue: false, it will not requeue itself.

Usage would be like:

SidekiqAlive.start(requeue: false)

requeue defaults to true, and the value is just passed into sa::Server.perform_async(hostname, requeue: requeue) in this line.

Then we enqueue, for every Sidekiq instance and config.time_to_live / 2 every seconds, by calling:

SidekiqAlive::Worker.perform_async(requeue: false)

Does this sound like it'll work? Still need to think through how we will enqueue for each available hostname without hard coding the number of pods we have for Sidekiq.

@arturictus
Copy link
Owner

Hi @ramontayag,
Sounds interesting been able to modify how jobs are enqueued.
Right now the nice thing about the enqueue is that you do not have to think about it.
what I think could be interesting is to add a config to specify your own worker this way you could
requeue or do whatever you want in this worker.

@arturictus arturictus added the enhancement New feature or request label Sep 22, 2019
@ramontayag
Copy link
Contributor Author

Hello, @arturictus. Yes, it's just a way to turn off the automatic requeueing feature that Sidekiq::Alive has, since we will be the one enqueuing it every N seconds.

arturictus pushed a commit that referenced this issue Dec 7, 2022
Bumps [rspec](https://github.com/rspec/rspec-metagem) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/rspec/rspec-metagem/releases)
- [Commits](rspec/rspec-metagem@v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: rspec
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
andrcuns pushed a commit that referenced this issue Dec 20, 2022
Bumps [rspec](https://github.com/rspec/rspec-metagem) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/rspec/rspec-metagem/releases)
- [Commits](rspec/rspec-metagem@v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: rspec
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
andrcuns added a commit that referenced this issue Dec 22, 2022
* Create dependabot.yml

* Remove deprecated options call on config

* Clean up logging and add ability to set custom logger

* Clean up code and add shutdown callback

* Regenerate gemfile

* Correctly set sidekiq queues

* Update workflow

* Add github-actions to dep updates

* Add lockfile platforms

* Update version to 2.2.0

* Bump actions/checkout from 2 to 3 (#7)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Rename gem to sidekiq-alive (#8)

* Add release and changelog workflow (#10)

* Add release and changelog workflow

* Set custom label for actions deps

* Fix setting custom sidekiq queue (#9)

* Move all configuration in to startup block

* Check respond to on config object

* Update specs

* Run specs in random order

* Set git identity for release workflow

* Rename gem to sidekiq-alive-next

* Update README.md

* Create github release in the same job

* Update gemspec metadata (#11)

* Update gemspec metadata

* Require ruby 2.7

* Add static rubocop checks (#12)

* Add static rubocop checks

* Allign arguments

* Automate release (#13)

* Add rake task to update version

* Add version update steps

* Unset deployment mode for release

* Add release ssh key for release workflow

* Checkout tag in release

* Add additional details to startup info (#14)

* Use scan for finding and purging jobs (#15)

* Add changelog workflow (#16)

* Bump rspec from 3.11.0 to 3.12.0 (#17)

Bumps [rspec](https://github.com/rspec/rspec-metagem) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/rspec/rspec-metagem/releases)
- [Commits](rspec/rspec-metagem@v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: rspec
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Sidekiq 7 support (#19)

* Update sidekiq requirement from >= 5, < 7 to >= 5, < 8

Updates the requirements on [sidekiq](https://github.com/mperham/sidekiq) to permit the latest version.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](sidekiq/sidekiq@v6.5.7...v7.0.0)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update for sidekiq 7 compatibility

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update README.md

* Update changelog.yml

* Use ruby 3.1.2 for development

* Replace pry with debug gem

* Update rack requirement from >= 2.2.4, < 3 to >= 3, < 4 (#20)

* Update rack requirement from >= 2.2.4, < 3 to >= 2.2.4, < 4

Updates the requirements on [rack](https://github.com/rack/rack) to permit the latest version.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](rack/rack@2.2.4...3.0.0)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add rackup gem and improve tests

* Narrow down rack requirement

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrejs Cunskis <[email protected]>

* Update nokogiri and workflow ruby setup

* Bump sidekiq from 7.0.0 to 7.0.1 (#21)

Bumps [sidekiq](https://github.com/mperham/sidekiq) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](sidekiq/sidekiq@v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rackup from 0.2.2 to 0.2.3 (#22)

Bumps [rackup](https://github.com/rack/rackup) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/rack/rackup/releases)
- [Commits](rack/rackup@v0.2.2...v0.2.3)

---
updated-dependencies:
- dependency-name: rackup
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rack from 3.0.0 to 3.0.1 (#23)

Bumps [rack](https://github.com/rack/rack) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](rack/rack@3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sidekiq from 7.0.1 to 7.0.2 (#24)

Bumps [sidekiq](https://github.com/mperham/sidekiq) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/mperham/sidekiq/releases)
- [Changelog](https://github.com/mperham/sidekiq/blob/main/Changes.md)
- [Commits](sidekiq/sidekiq@v7.0.1...v7.0.2)

---
updated-dependencies:
- dependency-name: sidekiq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Loosen rackup requirement (#25)

* Bump rack from 3.0.1 to 3.0.2 (#27)

Bumps [rack](https://github.com/rack/rack) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](rack/rack@v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump debug from 1.6.3 to 1.7.0 (#26)

Bumps [debug](https://github.com/ruby/debug) from 1.6.3 to 1.7.0.
- [Release notes](https://github.com/ruby/debug/releases)
- [Commits](ruby/debug@v1.6.3...v1.7.0)

---
updated-dependencies:
- dependency-name: debug
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* renaming back and apply changes

* rubocop fix

* rubocop fix (for real)

* add comment to why different ways to access to queues

* use badges from this repo

* Remove breaking version restrictions

Add testing with multiple sidekiq versions

Remove rack version requirement

* Enable new cops by default

* Ignore load error for sidekiq/capsule

* Move dynamic sidekiq version definition to Gemfile

* Improve sidekiq version detection

* Add redis client wrappers

* Remove redundant module function

* Fix sq_config mocking

* fix sidekiq 5

* Update release actions

* improve Helpers version

* Update release.yml for default project labels

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Andrejs <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants