用途:在配置或使用 Solid Queue(Rails 8 默认后台任务后端,基于数据库的 Active Job 适配器,无需 Redis,任务存储在数据库中并具备 ACID 保证)时提供配置与设计指导。
主要能力:涵盖数据库设置(config/database.yml 中拆分 primary 与 queue 数据库,migrations_paths 指向 db/queue_migrate);队列配置(config/solid_queue.yml 中设置 dispatchers 的 polling_interval、batch_size 以及 workers 的 queues、threads、processes、polling_interval);应用配置(config.active_job.queue_adapter = :solid_queue 与 config.solid_queue.connects_to);队列设计与优先级(queue_as、queue_with_priority,数值越小优先级越高);并发控制(limits_concurrency 支持 key、duration、group);循环任务(recurring 中定义 class、schedule、queue);部署(Procfile 与 Docker Compose 中运行 bundle exec rake solid_queue:start);错误处理(retry_on、discard_on、rescue_from);数据库维护(VACUUM ANALYZE 任务);并对比 Solid Queue 与 Sidekiq,列出反模式。
使用方式:按资料给出的配置片段设置多数据库、solid_queue.yml、worker 启动命令与任务类,示例命令保持原样如 bundle exec rake solid_queue:start。
适用场景:Rails 8 项目中需要数据库驱动后台任务、避免引入 Redis、需要事务性入队与内置并发控制的场景。
限制:资料未提供具体安装命令、收费或价格、性能数据及版本要求,相关事实暂未提供。