Run a saved query or an export on a schedule

Aperta
#3,621 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
macos, swift
Ambito
databases, desktop

Direzione di ricerca

Read apple/AGENTS.md for the scope requirements for a new advanced tool, then inspect apple/TablePro/ViewModels/ServerDashboardViewModel.swift and the AppleScript and MCP entry points named in the issue. The proposal spans scheduling, query execution, export, notifications, safety checks, logging, and pause or resume behavior, so identify the existing module and export patterns before estimating the work. Done means a weekday schedule can write the dated CSV while TablePro is open and record each run in its log.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement platform-macos
Problem

Nothing in TablePro runs on its own. A report that has to land every morning is a saved query someone opens, runs and exports by hand. The only timer that queries a database is the Server Dashboard refresh (apple/TablePro/ViewModels/ServerDashboardViewModel.swift:25).

The scripting routes run only when something calls them: AppleScript run query (developers/applescript.mdx) and the MCP export_data tool (developers/mcp-tools.mdx), which writes only into Downloads. So a schedule today is a launchd job the user writes and keeps working.

Proposed solution
  • Schedule… on a saved query: at a time of day, on chosen weekdays, or every N minutes or hours, on the query's connection and database.
  • Each run can export its result to a chosen folder, in any format the Export dialog offers, with the date and time in the file name, and can post a notification through Settings > Notifications with Show in Finder.
  • Unattended means read-only by default. A statement that writes runs only when the schedule says so explicitly, and never on a connection whose Safe Mode asks for confirmation.
  • A run never prompts. A connection that needs a typed password, a TOTP code or a confirmation is skipped, and the run is logged as failed with the reason.
  • A run log per schedule: start, duration, row count, file written, error. Pause and Run Now on each schedule.
  • Schedules run while TablePro is open. A run missed while it was closed is either run once at the next launch or skipped, set per schedule.
  • Ships as a module, off by default, as apple/AGENTS.md (Scope) asks of a new advanced tool.

Done means a saved query set to 08:00 on weekdays writes orders-2026-10-20.csv into the chosen folder each weekday while TablePro runs, and the log shows each run.

Alternatives considered

A launchd job that runs osascript with AppleScript run query, or an MCP client on a timer calling export_data.

Platform

macOS

Related database type

N/A / General

Lingua principale
Swift
Stelle
6.2k
Fork
412
Merge medio
3h 56m
PR unite (30g)
669

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di TableProApp/TablePro

Tutte le issue di TableProApp/TablePro

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.