Continuation of #11489. This adds a new, optional `updateJobs` db adapter method that reduces the amount of database calls for the jobs queue. ## MongoDB ### Previous: running a set of 50 queued jobs - 1x db.find (= 1x `Model.paginate`) - 50x db.updateOne (= 50x `Model.findOneAndUpdate`) ### Now: running a set of 50 queued jobs - 1x db.updateJobs (= 1x `Model.find` and 1x `Model.updateMany`) **=> 51 db round trips before, 2 db round trips after** ### Previous: upon task completion - 1x db.find (= 1x `Model.paginate`) - 1x db.updateOne (= 1x `Model.findOneAndUpdate`) ### Now: upon task completion - 1x db.updateJobs (= 1x `Model.findOneAndUpdate`) **=> 2 db round trips before, 1 db round trip after** ## Drizzle (e.g. Postgres) ### running a set of 50 queued jobs - 1x db.query[tablename].findMany - 50x db.select - 50x upsertRow This is unaffected by this PR and will be addressed in a future PR
Payload SQLite Adapter
Official SQLite adapter for Payload.
Installation
npm install @payloadcms/db-sqlite
Usage
import { buildConfig } from 'payload/config'
import { sqliteAdapter } from '@payloadcms/db-sqlite'
export default buildConfig({
db: sqliteAdapter({
client: {
url: process.env.DATABASE_URI,
},
}),
// ...rest of config
})
More detailed usage can be found in the Payload Docs.