Resources

Every apps can have access to the same add-ons, but we’ll focus on the ones with have for the production application.

Professional Dynos

This is the main resource of the app, and consists of:

  • Web: the main thread, similar to your Rails Server in your terminal

  • Worker: the async thread, similar to your Sidekiq in your terminal

For review apps, it’s possible that the worker dyno is disabled by default as we don’t always need it. If you test an async feature on a review app, a worker for example, you’ll need to activate the worker dyno.

Resources

Advanced Scheduler

This were all of CRON is handled. Here is how ChatGPT would define a CRON:

CRON is a time-based job scheduler in Unix-like operating systems that allows users to schedule automated tasks or scripts to run at specific intervals or times.

Basically, if you need to run a piece of code in a recurring or scheduled way, this is a CRON.

Here is the list of our active CRON in production:

  • Regional email (every Tuesday at 10am)

  • Monthly suggestion (every 1st Thursday of the month at 10am)

  • Job offer expiration (every 4 hours)

  • Credit expiration (every 4 hours)

  • Sitemap refresh (every Monday at 6am)

  • Weekly metrics (every Friday at 5pm)

  • Weekly applications reporting (every Friday at 4pm)

  • In Emails Run (every 6 hours)

  • Out of Emails Run (every 6 hours)

Bonsai Elasticsearch

Config, logs and metrics for out Elasticsearch application.

Heroku Data for Redis

Metrics and settings for our Redis datastore (mainly used to queue Sidekiq Jobs).

Want to know more about Sidekiq, Redis and how they work? Have a look at this great article:

Heroku Postgres

Metrics, credentials, logs about our database. In the durability tab, you can find every back-up ever made (the last 8 days). A back-up is made every day, so if you ever need to use one, you’ll (only) lose maximum one day of data.

If you download a back-up, this will give you a .dump file containing the whole backed-up DB. To know how to use it, you can refer to this documentation:

Papertrail

This one is really useful if you need to investigate a bug or if you need to check for something in the logs. Basically it retains ALL logs form the last 2 weeks, and you can even download archives for timeframes longer than that.

Scout APM

APM stands for Application Performance Monitoring. This newly added add-on is great to have a view of the performance or your HTTP request and the performance of your workers.

If you notice a simple HTTP call takes 2000ms, that’s probably too long for a simple request and it might benefits from an optimization. Remember that this example is extremely contextual and, sometimes, 2000ms for a request is totally acceptable.

In the screenshot above, we’re looking at the endpoint: JobApplicationController#create

So it’s basically the request made when a candidate apply to a job or a company. We can see that its mean response time is 813.6ms, which is considered OK.


And that’s a wrap for this section 🎬 Feel free to complete it!

Last updated