一、需求:
自己写了一套 量化交易模型, 需要每天 下午4点定时运行。
因为服务器登录比较麻烦, 代码又没有太多, 而且 有些结果需要自己实时的去检测, 所以 必须用本地的 MAC 电脑。
二、方案一 (不直观)
用MAC 自带的 launchctl 将根据plist文件的信息来启动任务。 配置起来比较麻烦, 而且对新手来讲 ,测试不好测试。
三、方案二 :Cronette (简单 直观)
Cronette介绍:
Cronette for Mac提供了不同类型的启动任务,并且可以指定任何任务来启动不同类型的执行。
目前提供任务启动时要执行的操作 有6种类型
– 启动应用程序或文档
– 打开不同类型的网址
– 在日志中插入一条消息
– 直接从Cronette执行unix命令
– 复制文件或文件夹
– 移动文件或文件夹
而我的需求就是 运行 UNIX 命令。
所以我们看看怎么执行吧
第一步:
首先我写了一个 启动python 程序的脚本sh
内容如下:
#!/bin/bash
export PYTHONPATH="/Users/mac/PycharmProjects/gitproject/stock/"
/Users/mac/PycharmProjects/gitproject/stock/venv/bin/python /Users/mac/PycharmProjects/gitproject/stock/jishu_stock/一建运行.py
第二步:
设置 Cronette
第一次打开 是这样的界面
第3步:
参考下图我设置的 1,2,3, 4 然后 点击 run now ,这个时候你的程序就会后台运行了。
我这里设置的是每周的工作日 在下午4点准时运行, 周六周日 不运行。
非常方便的。
而且可以查看运行日志
非常方便。
Cronette 不启动是不是不执行?
Cronette 教程
缺点: 必须打开软件,才可以 定时执行任务
Managing Documents
Cronette is based on a document model
That means you can have different documents containing different tasks and have them executed at the same time
• To have a tasks inside a document executed, the document must be opened while Cronette it’s running.
• If a document is closed it’s task won’t be executed (如果 这个文件不打开, 那么 任务不会自动运行的)