diff --git a/Procfile b/Procfile index f281f018a..af09a1bb4 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,4 @@ release: POSTGRES_STATEMENT_TIMEOUT=600s bundle exec rails db:chatwoot_prepare && echo $SOURCE_VERSION > .git_sha web: bundle exec rails ip_lookup:setup && bin/rails server -p $PORT -e $RAILS_ENV -worker: bundle exec rails ip_lookup:setup && bundle exec sidekiq -C config/sidekiq.yml +default_worker: bundle exec rails ip_lookup:setup && bundle exec sidekiq -C config/sidekiq/default.yml +quarantine_worker: bundle exec rails ip_lookup:setup && bundle exec sidekiq -C config/sidekiq/quarantine.yml diff --git a/config/sidekiq/default.yml b/config/sidekiq/default.yml new file mode 100644 index 000000000..efff195b3 --- /dev/null +++ b/config/sidekiq/default.yml @@ -0,0 +1,34 @@ +# Sample configuration file for Sidekiq. +# Options here can still be overridden by cmd line args. +# Place this file at config/sidekiq.yml and Sidekiq will +# pick it up automatically. +--- +:verbose: false +:concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", 10) %> +:timeout: 25 +:max_retries: 3 + +# Sidekiq will run this file through ERB when reading it so you can +# even put in dynamic logic, like a host-specific queue. +# http://www.mikeperham.com/2013/11/13/advanced-sidekiq-host-specific-queues/ +# https://github.com/sidekiq/sidekiq/wiki/Advanced-Options +# Since queues are declared without waits, the jobs in lower ranking queues will only be processed +# if there are no jobs in higher ranking queues. +:queues: + - critical + - high + - medium + - default + - mailers + - action_mailbox_routing + - low + - async_database_migration + - active_storage_analysis + - active_storage_purge + - action_mailbox_incineration + +# you can override concurrency based on environment +production: + :concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", 10) %> +staging: + :concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", 10) %> diff --git a/config/sidekiq/quarantine.yml b/config/sidekiq/quarantine.yml new file mode 100644 index 000000000..19372e351 --- /dev/null +++ b/config/sidekiq/quarantine.yml @@ -0,0 +1,18 @@ +# Sample configuration file for Sidekiq. +# Options here can still be overridden by cmd line args. +# Place this file at config/sidekiq.yml and Sidekiq will +# pick it up automatically. +--- +:verbose: false +:concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", 10) %> +:timeout: 25 +:max_retries: 3 + +# Sidekiq will run this file through ERB when reading it so you can +# even put in dynamic logic, like a host-specific queue. +# http://www.mikeperham.com/2013/11/13/advanced-sidekiq-host-specific-queues/ +# https://github.com/sidekiq/sidekiq/wiki/Advanced-Options +# Since queues are declared without waits, the jobs in lower ranking queues will only be processed +# if there are no jobs in higher ranking queues. +:queues: + - scheduled_jobs \ No newline at end of file