songtianlun
2bcfea30ee
- Implement BatchGenerateWeatherArtsWorker to handle batch processing of weather art generation. - Create GenerateWeatherArtWorker for individual weather art generation tasks. - Update Dockerfile to include redis-tools for Sidekiq support. - Modify Gemfile to add sidekiq and sidekiq-scheduler gems. - Configure Sidekiq in initializers and set up routes for Sidekiq dashboard. - Include a sidekiq.yml configuration for scheduling jobs. - Create compose.yaml for Docker services including web, database, Redis, and Sidekiq workers. These changes introduce background processing capabilities using Sidekiq, allowing for efficient generation of weather art through scheduled and managed job queues, optimizing performance and scalability.
81 lines
2.7 KiB
Ruby
81 lines
2.7 KiB
Ruby
source "https://rubygems.org"
|
|
|
|
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
gem "rails", "~> 8.0.1"
|
|
# The modern asset pipeline for Rails [https://github.com/rails/propshaft]
|
|
gem "propshaft"
|
|
# Use sqlite3 as the database for Active Record
|
|
gem "sqlite3", ">= 2.1"
|
|
# Use the Puma web server [https://github.com/puma/puma]
|
|
gem "puma", ">= 5.0"
|
|
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]
|
|
gem "jsbundling-rails"
|
|
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
gem "turbo-rails"
|
|
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
gem "stimulus-rails"
|
|
# Bundle and process CSS [https://github.com/rails/cssbundling-rails]
|
|
gem "cssbundling-rails"
|
|
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
gem "jbuilder"
|
|
|
|
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
# gem "bcrypt", "~> 3.1.7"
|
|
|
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
gem "tzinfo-data", platforms: %i[ windows jruby ]
|
|
|
|
# Use the database-backed adapters for Rails.cache, Active Job, and Action Cable
|
|
gem "solid_cache"
|
|
gem "solid_queue"
|
|
gem "solid_cable"
|
|
|
|
# Reduces boot times through caching; required in config/boot.rb
|
|
gem "bootsnap", require: false
|
|
|
|
# Deploy this application anywhere as a Docker container [https://kamal-deploy.org]
|
|
gem "kamal", require: false
|
|
|
|
# Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/]
|
|
gem "thruster", require: false
|
|
|
|
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
|
# gem "image_processing", "~> 1.2"
|
|
gem "devise", "~> 4.9"
|
|
gem "activeadmin", "~> 3.2"
|
|
gem "friendly_id", "~> 5.5"
|
|
|
|
gem "whenever", "~> 1.0"
|
|
gem "ruby-openai", "~> 7.3"
|
|
gem "httparty", "~> 0.22.0"
|
|
gem "down", "~> 5.4"
|
|
gem "aws-sdk-s3", "~> 1.177"
|
|
gem 'sidekiq', '~> 7.3'
|
|
gem 'sidekiq-scheduler', '~> 5.0'
|
|
|
|
group :development, :test do
|
|
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
|
gem "debug", platforms: %i[ mri windows ], require: "debug/prelude"
|
|
|
|
# Static analysis for security vulnerabilities [https://brakemanscanner.org/]
|
|
gem "brakeman", require: false
|
|
|
|
# Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/]
|
|
gem "rubocop-rails-omakase", require: false
|
|
end
|
|
|
|
group :development do
|
|
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
gem "web-console"
|
|
end
|
|
|
|
group :production do
|
|
gem "pg", "~> 1.5"
|
|
end
|
|
|
|
group :test do
|
|
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
gem "capybara"
|
|
gem "selenium-webdriver"
|
|
end
|