37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# How to run reliability tests
|
|
|
|
```
|
|
cd tests/reliability
|
|
bundle exec ruby reliability_test.rb
|
|
```
|
|
|
|
You can adjust some parameters of the test in the `config.rb`.
|
|
|
|
JOB_FETCHER can be set to one of these values: `semi`, `reliable`, `basic`
|
|
|
|
You need to have redis server running on default HTTP port `6379`. To use other HTTP port, you can define
|
|
`REDIS_URL` environment varible with the port you need(example: `REDIS_URL="redis://localhost:9999"`).
|
|
|
|
|
|
## How it works
|
|
|
|
This tool spawns configured number of Sidekiq workers and when the amount of processed jobs is about half of origin
|
|
number it will kill all the workers with `kill -9` and then it will spawn new workers again until all the jobs are processed. To track the process and counters we use Redis keys/counters.
|
|
|
|
# How to run interruption tests
|
|
|
|
```
|
|
cd tests/interruption
|
|
|
|
# Verify "KILL" signal
|
|
bundle exec ruby test_kill_signal.rb
|
|
|
|
# Verify "TERM" signal
|
|
bundle exec ruby test_term_signal.rb
|
|
```
|
|
|
|
It requires Redis to be running on 6379 port.
|
|
|
|
## How it works
|
|
|
|
It spawns Sidekiq workers then creates a job that will kill itself after a moment. The reliable fetcher will bring it back. The purpose is to verify that job is run no more then allowed number of times.
|