Skip to content

Quickstart

This guide gets you from zero to a running DAQ system in 5 minutes using the built-in DAQJobTest job.


1. Create a config file

Create a TOML file for the test job:

mkdir -p configs/my_first_run

Save the following as configs/my_first_run/test_job.toml:

daq_job_type = "DAQJobTest"
rand_min = 1
rand_max = 100

[store_config.csv]
file_path = "out/test_data.csv"
add_date = false
overwrite = false

This job generates random numbers once per second and writes them to a CSV file.


2. Start the supervisor

The supervisor is the top-level process that reads all config files, spawns each job, and runs the message broker.

uv run python src/run.py --daq-job-config-path configs/my_first_run

3. Check the output

The test job writes random numbers to out/test_data.csv. After a few seconds:

cat out/test_data.csv

You will see rows with timestamp, random value, and job metadata.

Note

Statistics files (stats.csv and stats_remote.csv) are only generated when a DAQJobHandleStats job is configured. The quickstart config above does not include one, so these files will not appear automatically.


4. Stop the system

Press Ctrl+C in the terminal running the supervisor. All DAQJobs are stopped gracefully.


What just happened?

  1. The supervisor read test_job.toml, created a DAQJobTest config, and spawned the job process.
  2. DAQJobTest generates random numbers and publishes them as messages.
  3. The store_config.csv field tells the system to route those messages to DAQJobStoreCSV.
  4. DAQJobStoreCSV receives the messages and writes them to disk.

No code changes needed — everything is driven by the TOML config.


Next steps