Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump oban from 2.15.2 to 2.15.3 (#626)
Bumps [oban](https://github.com/sorentwo/oban) from 2.15.2 to 2.15.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sorentwo/oban/releases">oban's releases</a>.</em></p> <blockquote> <h2>v2.15.3</h2> <h3>Enhancements</h3> <ul> <li> <p>[Pruner] Prune jobs using the <code>scheduled_at</code> timestamp regardless of state.</p> <p>The previous pruning query checked a different timestamp field for each prunable state, e.g. <code>cancelled</code> used <code>cancelled_at</code>. There aren't any indexes for those timestamps, let alone the combination of each state and timestamp, which led to slow pruning queries in larger databases.</p> <p>In a database with a mixture of ~1.2m prunable jobs the updated query is 130x faster, reducing the query time from 177ms down to 1.3ms.</p> </li> <li> <p>[Lite] Avoid unnecessary transactions during staging and pruning operations</p> <p>Contention between SQLite3 transactions causes deadlocks that lead to period errors. Avoiding transactions when there isn't anything to write minimizes contention.</p> </li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p>[Foreman] Explicitly pause queues when shutdown begins.</p> <p>A call to <code>Producer.shutdown/1</code> was erroneously removed during the <code>DynamicSupervisor</code> queue refactor.</p> </li> <li> <p>[Job] Preserve explicit state set along with <code>scheduled_in</code> time.</p> <p>The presence of a <code>scheduled_in</code> timestamp would always set the state to <code>scheduled</code>, even when an explicit state was passed.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sorentwo/oban/blob/v2.15.3/CHANGELOG.md">oban's changelog</a>.</em></p> <blockquote> <h2>v2.15.3 — 2023-08-04</h2> <h3>Enhancements</h3> <ul> <li> <p>[Pruner] Prune jobs using the <code>scheduled_at</code> timestamp regardless of state.</p> <p>The previous pruning query checked a different timestamp field for each prunable state, e.g. <code>cancelled</code> used <code>cancelled_at</code>. There aren't any indexes for those timestamps, let alone the combination of each state and timestamp, which led to slow pruning queries in larger databases.</p> <p>In a database with a mixture of ~1.2m prunable jobs the updated query is 130x faster, reducing the query time from 177ms down to 1.3ms.</p> </li> <li> <p>[Lite] Avoid unnecessary transactions during staging and pruning operations</p> <p>Contention between SQLite3 transactions causes deadlocks that lead to period errors. Avoiding transactions when there isn't anything to write minimizes contention.</p> </li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p>[Foreman] Explicitly pause queues when shutdown begins.</p> <p>A call to <code>Producer.shutdown/1</code> was erroneously removed during the <code>DynamicSupervisor</code> queue refactor.</p> </li> <li> <p>[Job] Preserve explicit state set along with <code>scheduled_in</code> time.</p> <p>The presence of a <code>scheduled_in</code> timestamp would always set the state to <code>scheduled</code>, even when an explicit state was passed.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sorentwo/oban/commit/6e12c98fd3dd8d48246f3ce6e28fbdd4e24dd7cd"><code>6e12c98</code></a> Release v2.15.3</li> <li><a href="https://github.com/sorentwo/oban/commit/a11497acdc03fa8cae54f0c8fd08e642a318336d"><code>a11497a</code></a> Document error behavior for Oban.insert_all/3 (<a href="https://redirect.github.com/sorentwo/oban/issues/934">#934</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/64b998d1dab956d3d8dcb449a7d42eb503347603"><code>64b998d</code></a> Fix module typo in the migration doc. (<a href="https://redirect.github.com/sorentwo/oban/issues/929">#929</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/e77931bcfa7c7f42bdb0081b32b45f43aaeb11ac"><code>e77931b</code></a> More accurately describe Oban.retry_all_jobs/2</li> <li><a href="https://github.com/sorentwo/oban/commit/c96465d5f1ef0ed144c3313d2cac132e4738225d"><code>c96465d</code></a> Do not start a write transaction when there is nothing to write (<a href="https://redirect.github.com/sorentwo/oban/issues/924">#924</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/9f6e526a966c3a0d5479b2b8dd34a3a03f6a971f"><code>9f6e526</code></a> Fix "Features" anchor in README.md (<a href="https://redirect.github.com/sorentwo/oban/issues/925">#925</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/75e684be9a441468517f845d4b7a2ae02cff5463"><code>75e684b</code></a> Bump ex_doc from 0.30.2 to 0.30.3 (<a href="https://redirect.github.com/sorentwo/oban/issues/923">#923</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/ee504b5fc6d41d07ffd9dd024d9721607d714230"><code>ee504b5</code></a> Update logo in docs and README with theme variants</li> <li><a href="https://github.com/sorentwo/oban/commit/66c79a5f0e48210dbae7c4cab5039d702e73dfc0"><code>66c79a5</code></a> Bump postgrex from 0.17.1 to 0.17.2 (<a href="https://redirect.github.com/sorentwo/oban/issues/922">#922</a>)</li> <li><a href="https://github.com/sorentwo/oban/commit/0022155941de28bde35cb18544850d2dd85a540b"><code>0022155</code></a> Bump ex_doc from 0.30.1 to 0.30.2 (<a href="https://redirect.github.com/sorentwo/oban/issues/921">#921</a>)</li> <li>Additional commits viewable in <a href="https://github.com/sorentwo/oban/compare/v2.15.2...v2.15.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=oban&package-manager=hex&previous-version=2.15.2&new-version=2.15.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
- Loading branch information