Run a saved query or an export on a schedule

未关闭
#3,621 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
macos, swift
领域
databases, desktop

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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

主要语言
Swift
星标
6.2k
派生
412
平均合并
3 小时 56 分钟
30 天内合并 PR
669

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TableProApp/TablePro 的其他 Issue

查看 TableProApp/TablePro 的全部 Issue

相似的 Issue

更多 Swift Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。