Files
AI-Horde/sql_statements
tazlin d120b922e9 feat(text): enforce the speed gate for chat requests and shadow it for legacy text
Legacy text requests keep reaching the slow workers that complete them, and each assignment the gate would refuse is recorded so the cost of enforcing it can be read from production.
- TextWorker.can_generate_with_eligibility_inputs refuses lease_speed only for a chat request.
- text_wp_speed_gate_clause passes every legacy request, so the pop query and the eligibility check agree for both request families.
- Status, worker availability and the wait estimate read the same eligibility check, so slow workers count toward legacy requests.
- worker_may_be_speed_gated reads only the chat declaration, so horde.pop.lease_capacity_limited counts chat pops only.
- A legacy job assigned over the worker's lease capacity stores TextProcessingGeneration.over_capacity_at_assignment, increments horde.text.gate_shadow.assignments and logs its ids. The marker is written by the commit that creates the row.
- horde.text.gate_shadow.outcomes counts such a job as completed, faulted or aborted, and horde.text.gate_shadow.service_seconds records a completed job's pop to submit time.
- The shadow records carry horde.worker_trusted and a bounded horde.size_bucket from TEXT_LENGTH_BUCKETS in horde/metrics.py.
- ProcessingGeneration.fault_and_restart returns whether the call faulted the generation, so a repeated fault submit is counted once.
- sql_statements/5.1.15.txt adds the processing_gens column.
- ADR 0041 records the decision with its evidence. ADRs 0038 and 0040, docs/reference/chat_requests.md and the decisions index follow it.
2026-10-30 23:46:16 -04:00
..
2023-03-06 23:55:27 +01:00
2024-08-10 15:45:14 +02:00
2024-08-10 15:45:14 +02:00
2023-03-21 13:42:32 +01:00
2024-08-10 15:45:14 +02:00
2024-08-10 15:45:14 +02:00
2024-08-10 15:45:14 +02:00
2023-05-03 18:48:45 +02:00
2024-08-10 15:45:14 +02:00
2023-05-08 02:34:08 +02:00
2023-05-09 00:36:12 +02:00
2023-05-20 22:57:18 +02:00
2024-08-10 15:45:14 +02:00
2023-08-31 17:12:00 +02:00
2024-08-10 15:45:14 +02:00
2024-08-10 15:45:14 +02:00
2024-08-10 15:45:14 +02:00
2024-02-03 15:57:01 +01:00
2024-02-28 00:46:22 +01:00
2024-05-21 23:44:28 +02:00
2024-11-03 19:50:02 +01:00
2024-11-03 19:50:02 +01:00
2025-06-08 16:47:24 +02:00
2024-08-10 15:45:14 +02:00

AI-Horde Database Information

pg_cron config

Warning

: All .sql files found in a directory deeper than sql_statements/ will be dynamically run, not only the ones specifically identified in this document. Only place .sql files you intend to run in these directories. This does not apply to the sql_statements level (i.e., sql_statements/4.35.1.sql is not automatically run, but sql_statements/cron/your_new_file.sql will be.)

  • cron/
    • schedule_cron_job.sql
      • Creates a stored procedure which schedules a new pg_cron job to execute a specified stored procedure at intervals defined by a cron schedule string, if a job with the same command doesn't already exist.
      • e.g., CALL schedule_cron_job('0-59 * * * *', 'compile_imagegen_stats_totals');
  • stored_procedures
    • compile_*gen_stats_*.sql
      • These files defined stored procedures which populated the compiled_* tables and generally represent minute/hour/day/total statistics about generations.
    • cron_jobs/
      • Schedules any stats compile jobs via schedule_cron_job.