Obsidian 插件:Cron
插件名片
概述
简单的 CRON /调度程序插件,定期运行用户脚本或 Obsidian 命令。
原文出处
下面自述文件的来源于 Readme
Readme(翻译)
下面是 cron 插件的自述翻译
Obsidian Cron 插件
Obsidian Cron 是 Obsidian.md 的一个插件,允许用户在预定的时间自动运行 Obsidian 命令或自定义用户脚本。
安装
要安装 Obsidian Cron,您可以通过 Obsidian 中的社区软件包下载,或者手动下载最新版本并手动添加。
用法
在插件设置页面中添加作业。
每个作业需要:
-
一个名称
-
要运行的 Obsidian 命令
-
一个 cron 调度语法表达式
- 这将是作业运行的频率。如果需要帮助编写 cron 调度,请访问 crontab.guru。
每个作业还有三个可切换的选项:
-
启用在移动设备上运行作业
- 默认情况下,所有作业都不在移动设备上运行。
-
切换作业锁定
- 如果作业由于错误日志而卡住,您可以在此处切换状态。有关更多详细信息,请参阅 锁定。
-
切换同步检查
- 在每个作业的基础上切换同步检查功能。有关更多详细信息,请参阅 同步。
功能性
API / UserScripts
通过 Javascript 公开了一个 API 来添加用户函数。名称被视为作业的 UUID,以确保在 Obsidian 重新加载时保持一致,以确保锁定/上次运行的数据可用。
Obsidian 应用程序的一个实例作为第一个和唯一的参数传递给所有用户函数。
要清除通过 API 添加的作业的锁定,您可以添加一个具有相应名称的作业,然后将名称传递给 API 中的 clearJobLock(name: string)
函数。
用户函数的示例
const cron = app.plugins.plugins.cron.api;
cron.addCronJob('addCronJob', "* * * * 3", {"enableMobile": true}, function(app){console.log('Job has ran!')});
同步
Obsidian cron 可以与原生的 Obsidian Sync 插件进行连接。当启用时,所有的锁定、cron 运行和命令都会在运行任何 cron 作业之前等待 Obsidian Sync 完全完成。
如果您有多个 Obsidian 实例正在运行,并且希望确保 cron 作业仅在一个设备上运行或每个 Obsidian vault 只运行一次,这将非常有用。
在每个 cron 作业开始时,会将一个锁保存到插件设置中,以阻止多个相同作业的实例运行。有时,如果作业没有干净地完成,它们可能会保留锁定状态。可以在插件的设置页面上解锁它们。
许可证
Obsidian Cron 是根据 MIT 许可证发布的。有关更多信息,请参阅 LICENSE 文件。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。