Description
I setup my solid_queue.yml
to run a recurring task every 30s that checks for records to sync
default: &default
dispatchers:
- polling_interval: 1
batch_size: 500
recurring_tasks:
sync_records:
class: SyncRecordsJob
schedule: "*/30 * * * * *"
workers:
- queues: "*"
threads: 3
processes: <%= ENV.fetch("JOB_CONCURRENCY", 1) %>
polling_interval: 0.1
development:
<<: *default
test:
<<: *default
production:
<<: *default
The SyncRecordsJob
does a SyncBatchJob.perform_later(record_ids)
and it's expected to take some time to run as they have to process quite a number of records (aprox 30s - 1min).
This has been deployed to Render on a $25/mo instance with 1 CPU and 2GB RAM. Initially, on deploy, some of the jobs execute successfully after some time, SyncRecordsJob
accumulates in the In Progress
list and seems to never process. They don't seem to accumulate anymore either.
Locally, these jobs run well and don't seem to have any issues. Locally, it seems that the recurring job is getting enqueued but never executing. Here's what I see from Mission Control in production for the jobs that failed:

Questions
- Are there ways to debug this?
- Is it a matter of not having enough resources?