w0rd-driven / beatseek

Seek the music you may be missing by analyzing your collection
https://beatseek.fly.dev/
MIT License
3 stars 0 forks source link

Bump oban from 2.13.6 to 2.14.1 #29

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps oban from 2.13.6 to 2.14.1.

Release notes

Sourced from oban's releases.

v2.14.0

Time marches on, and we minimally support Elixir 1.12+, PostgreSQL 12+, and SQLite 3.37.0+

🪶 SQLite3 Support with the Lite Engine

Increasingly, developers are choosing SQLite for small to medium-sized projects, not just in the embedded space where it's had utility for many years. Many of Oban's features, such as isolated queues, scheduling, cron, unique jobs, and observability, are valuable in smaller or embedded environments. That's why we've added a new SQLite3 storage engine to bring Oban to smaller, stand-alone, or embedded environments where PostgreSQL isn't ideal (or possible).

There's frighteningly little configuration needed to run with SQLite3. Migrations, queues, and plugins all "Just Work™".

To get started, add the ecto_sqlite3 package to your deps and configure Oban to use the Oban.Engines.Lite engine:

config :my_app, Oban,
  engine: Oban.Engines.Lite,
  queues: [default: 10],
  repo: MyApp.Repo

Presto! Run the migrations, include Oban in your application's supervision tree, and then start inserting and executing jobs as normal.

⚠️ SQLite3 support is new, and while not experimental, there may be sharp edges. Please report any issues or gaps in documentation.

👩‍🔬 Smarter Job Fetching

The most common cause of "jobs not processing" is when PubSub isn't available. Our troubleshooting section instructed people to investigate their PubSub and optionally include the Repeater plugin. That kind of manual remediation isn't necessary now! Instead, we automatically switch back to local polling mode when PubSub isn't available—if it is a temporary glitch, then fetching returns to the optimized global mode after the next health check.

Along with smarter fetching, Stager is no longer a plugin. It wasn't ever really a plugin, as it's core to Oban's operation, but it was treated as a plugin to simplify configuration and testing. If you're in the minority that tweaked the staging interval, don't worry, the existing plugin configuration is automatically translated for backward compatibility. However, if you're a stickler for avoiding deprecated options, you can switch to the top-level stage_interval:

config :my_app, Oban,
  queues: [default: 10],
- plugins: [{Stager, interval: 5_000}]
+ stage_interval: 5_000

... (truncated)

Changelog

Sourced from oban's changelog.

v2.14.1 — 2023-01-26

Bug Fixes

  • [Repo] Prevent logging SQL queries by correctly handling default opts

    The query dispatch call included opts in the args list, rather than separately. That passed options to Repo.query correctly, but it missed any default options such as log: false, which made for noisy development logs.

v2.14.0 — 2023-01-25

Enhancements

  • [Oban] Store a {:cancel, :shutdown} error and emit [:oban, :job, :stop] telemetry when jobs are manually cancelled with cancel_job/1 or cancel_all_jobs/1.

  • [Oban] Include "did you mean" suggestions for Oban.start_link/1 and all nested plugins when a similar option is available.

    Oban.start_link(rep: MyApp.Repo, queues: [default: 10])
    ** (ArgumentError) unknown option :rep, did you mean :repo?
        (oban 2.14.0-dev) lib/oban/validation.ex:46: Oban.Validation.validate!/2
        (oban 2.14.0-dev) lib/oban/config.ex:88: Oban.Config.new/1
        (oban 2.14.0-dev) lib/oban.ex:227: Oban.start_link/1
        iex:1: (file)
    
  • [Oban] Support scoping queue actions to a particular node.

    In addition to scoping to the current node with :local_only, it is now possible to scope pause, resume, scale, start, and stop queues on a single node using the :node option.

    Oban.scale_queue(queue: :default, node: "worker.123")
    
  • [Oban] Remove retry_job/1 and retry_all_jobs/1 restriction around retrying scheduled jobs.

  • [Job] Restrict replace option to specific states when unique job's have a conflict.

    # Replace the scheduled time only if the job is still scheduled
    SomeWorker.new(args, replace: [scheduled: [:schedule_in]], schedule_in: 60)
    

    Change the args only if the job is still available

    SomeWorker.new(args, replace: [available: [:args]])

... (truncated)

Commits
  • 142d170 Release v2.14.1
  • f261281 Correctly handle default opts for custom queries
  • 85a4cef Release v2.14.0
  • 7fd48b5 Update telemetry and sqlite3 documentation
  • 15b1b6d Use struct/2 to retrieve validation fields
  • 9cc2237 Add "did you mean" support for unknown options
  • 4e1e6cf Fix doc typo in peer.ex (#830)
  • e379e22 Fix typo in Introduction to Testing section (#829)
  • 3661ce2 Fix broken notifier gossip example (#828)
  • 10459ae Remove queues and staging from retry tests
  • Additional commits viewable in compare view


Dependabot compatibility score

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 commands and options
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)