Skip to content

Commit 6dc5c66

Browse files
sasharevzinrosa
authored andcommitted
Fix typos and improve formatting in README.md
1 parent 3809b99 commit 6dc5c66

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Solid Queue
22

3-
Solid Queue is a DB-based queuing backend for [Active Job](https://edgeguides.rubyonrails.org/active_job_basics.html), designed with simplicity and performance in mind.
3+
Solid Queue is a database-based queuing backend for [Active Job](https://edgeguides.rubyonrails.org/active_job_basics.html), designed with simplicity and performance in mind.
44

5-
Besides regular job enqueuing and processing, Solid Queue supports delayed jobs, concurrency controls, recurring jobs, pausing queues, numeric priorities per job, priorities by queue order, and bulk enqueuing (`enqueue_all` for Active Job's `perform_all_later`).
5+
In addition to regular job enqueuing and processing, Solid Queue supports delayed jobs, concurrency controls, recurring jobs, pausing queues, numeric priorities per job, priorities by queue order, and bulk enqueuing (`enqueue_all` for Active Job's `perform_all_later`).
66

7-
Solid Queue can be used with SQL databases such as MySQL, PostgreSQL or SQLite, and it leverages the `FOR UPDATE SKIP LOCKED` clause, if available, to avoid blocking and waiting on locks when polling jobs. It relies on Active Job for retries, discarding, error handling, serialization, or delays, and it's compatible with Ruby on Rails's multi-threading.
7+
Solid Queue can be used with SQL databases such as MySQL, PostgreSQL, or SQLite, and it leverages the `FOR UPDATE SKIP LOCKED` clause, if available, to avoid blocking and waiting on locks when polling jobs. It relies on Active Job for retries, discarding, error handling, serialization, and delays, and it's compatible with Ruby on Rails's multi-threading.
88

9-
## Table of contents
9+
## Table of Contents
1010

1111
- [Installation](#installation)
1212
- [Usage in development and other non-production environments](#usage-in-development-and-other-non-production-environments)
@@ -15,10 +15,10 @@ Solid Queue can be used with SQL databases such as MySQL, PostgreSQL or SQLite,
1515
- [Incremental adoption](#incremental-adoption)
1616
- [High performance requirements](#high-performance-requirements)
1717
- [Configuration](#configuration)
18-
- [Workers, dispatchers and scheduler](#workers-dispatchers-and-scheduler)
18+
- [Workers, dispatchers, and scheduler](#workers-dispatchers-and-scheduler)
1919
- [Queue order and priorities](#queue-order-and-priorities)
2020
- [Queues specification and performance](#queues-specification-and-performance)
21-
- [Threads, processes and signals](#threads-processes-and-signals)
21+
- [Threads, processes, and signals](#threads-processes-and-signals)
2222
- [Database configuration](#database-configuration)
2323
- [Other configuration settings](#other-configuration-settings)
2424
- [Lifecycle hooks](#lifecycle-hooks)
@@ -36,7 +36,7 @@ Solid Queue can be used with SQL databases such as MySQL, PostgreSQL or SQLite,
3636

3737
## Installation
3838

39-
Solid Queue is configured by default in new Rails 8 applications. But if you're running an earlier version, you can add it manually following these steps:
39+
Solid Queue is configured by default in new Rails 8 applications. If you're running an earlier version, you can add it manually following these steps:
4040

4141
1. `bundle add solid_queue`
4242
2. `bin/rails solid_queue:install`
@@ -45,7 +45,7 @@ Solid Queue is configured by default in new Rails 8 applications. But if you're
4545

4646
This will configure Solid Queue as the production Active Job backend, create the configuration files `config/queue.yml` and `config/recurring.yml`, and create the `db/queue_schema.rb`. It'll also create a `bin/jobs` executable wrapper that you can use to start Solid Queue.
4747

48-
Once you've done that, you will then have to add the configuration for the queue database in `config/database.yml`. If you're using SQLite, it'll look like this:
48+
Once you've done that, you will have to add the configuration for the queue database in `config/database.yml`. If you're using SQLite, it'll look like this:
4949

5050
```yaml
5151
production:
@@ -79,7 +79,7 @@ Now you're ready to start processing jobs by running `bin/jobs` on the server th
7979

8080
For small projects, you can run Solid Queue on the same machine as your webserver. When you're ready to scale, Solid Queue supports horizontal scaling out-of-the-box. You can run Solid Queue on a separate server from your webserver, or even run `bin/jobs` on multiple machines at the same time. Depending on the configuration, you can designate some machines to run only dispatchers or only workers. See the [configuration](#configuration) section for more details on this.
8181

82-
**Note**: future changes to the schema will come in the form of regular migrations.
82+
**Note**: Future changes to the schema will come in the form of regular migrations.
8383

8484
### Usage in development and other non-production environments
8585

@@ -150,15 +150,15 @@ development:
150150

151151
### Single database configuration
152152

153-
Running Solid Queue in a separate database is recommended, but it's also possible to use one single database for both the app and the queue. Just follow these steps:
153+
Running Solid Queue in a separate database is recommended, but it's also possible to use one single database for both the app and the queue. Follow these steps:
154154

155155
1. Copy the contents of `db/queue_schema.rb` into a normal migration and delete `db/queue_schema.rb`
156156
2. Remove `config.solid_queue.connects_to` from `production.rb`
157157
3. Migrate your database. You are ready to run `bin/jobs`
158158

159159
You won't have multiple databases, so `database.yml` doesn't need to have primary and queue database.
160160

161-
### Dashboard ui setup
161+
### Dashboard UI Setup
162162

163163
For viewing information about your jobs via a UI, we recommend taking a look at [mission_control-jobs](https://github.com/rails/mission_control-jobs), a dashboard where, among other things, you can examine and retry/discard failed jobs.
164164

@@ -181,7 +181,7 @@ Solid Queue was designed for the highest throughput when used with MySQL 8+ or P
181181

182182
## Configuration
183183

184-
### Workers, dispatchers and scheduler
184+
### Workers, dispatchers, and scheduler
185185

186186
We have several types of actors in Solid Queue:
187187

@@ -330,7 +330,7 @@ queues: back*
330330
```
331331

332332

333-
### Threads, processes and signals
333+
### Threads, processes, and signals
334334

335335
Workers in Solid Queue use a thread pool to run work in multiple threads, configurable via the `threads` parameter above. Besides this, parallelism can be achieved via multiple processes on one machine (configurable via different workers or the `processes` parameter above) or by horizontal scaling.
336336

@@ -366,7 +366,7 @@ There are several settings that control how Solid Queue works that you can set a
366366

367367
**This is not used for errors raised within a job execution**. Errors happening in jobs are handled by Active Job's `retry_on` or `discard_on`, and ultimately will result in [failed jobs](#failed-jobs-and-retries). This is for errors happening within Solid Queue itself.
368368

369-
- `use_skip_locked`: whether to use `FOR UPDATE SKIP LOCKED` when performing locking reads. This will be automatically detected in the future, and for now, you'd only need to set this to `false` if your database doesn't support it. For MySQL, that'd be versions < 8, and for PostgreSQL, versions < 9.5. If you use SQLite, this has no effect, as writes are sequential.
369+
- `use_skip_locked`: whether to use `FOR UPDATE SKIP LOCKED` when performing locking reads. This will be automatically detected in the future, and for now, you only need to set this to `false` if your database doesn't support it. For MySQL, that'd be versions < 8, and for PostgreSQL, versions < 9.5. If you use SQLite, this has no effect, as writes are sequential.
370370
- `process_heartbeat_interval`: the heartbeat interval that all processes will follow—defaults to 60 seconds.
371371
- `process_alive_threshold`: how long to wait until a process is considered dead after its last heartbeat—defaults to 5 minutes.
372372
- `shutdown_timeout`: time the supervisor will wait since it sent the `TERM` signal to its supervised processes before sending a `QUIT` version to them requesting immediate termination—defaults to 5 seconds.

0 commit comments

Comments
 (0)