Scheduled jobs

A job reads your own MySQL database on a schedule - read-only, always - and brings the rows into a counter.

A job is a script that brings rows into a counter on a schedule: every hour, every morning, whatever you choose. You describe the job in a sentence; Countdat writes it and dry-runs it before you save.

Jobs read MySQL databases. Other databases and services aren't supported yet.

#Before you start

  • A MySQL database Countdat's servers can reach.
  • A database user for Countdat. We recommend one with read-only permissions on just the tables it needs - Countdat enforces read-only on its side too.

#Set up a job

  1. Connect the database. Enter the host, database name, user and password. The password is encrypted and used only by the server - see Secrets & passwords.
  2. Describe the job. "Every hour, check how close each table's ID column is to its maximum."
  3. Read the dry run. Countdat writes the job and runs it once without saving anything, so you see the exact rows it would bring in.
  4. Choose the schedule and save. From then on, each run adds rows marked as coming from this job.

#Read-only, enforced three ways

A job cannot change your database. On every query it runs:

  • through a read-only connection,
  • inside a read-only session,
  • with a time limit.

More in Read-only access.

#How fresh is the data?

As fresh as the last run. Jobs run on a schedule - hourly is typical - so data arrives as rows at each run, not as a continuous feed. Pick a schedule that matches how quickly you need to know.

#Pair it with an alert

Jobs and alerts work well together: the job brings rows in every hour, and the alert tells your notify list when a number crosses a line - or when the job's rows stop arriving.

Still stuck? Write to us and a person will reply.
Email support

Updated 2026-10-09