监视文件更改并使用文件中的新数据更新集合的最佳方法是什么?
What's the best way to monitor a file for changes and update a collection with new data from the file?
我有一个流星项目,它每天运行一次 python 脚本来查询 API 并将结果保存到 private
中的 JSON 文件中。流星服务器监视 JSON 文件的变化。当文件更改时,服务器读取并解析文件并相应地更新集合。
问题是 private
中的资产在 meteor 启动时加载并以只读方式复制到不同的资产文件夹中,因此脚本无法更改文件。
我也许可以更改该资产目标文件夹的权限,但这似乎很老套。无论如何,我不认为 private
中的资产是动态的。有人知道我如何完成这个流程吗?
- Meteor 服务器每天启动一次python脚本
- 脚本查询 API,将结果保存到服务器上的 JSON 文件
- Meteor 服务器读取 JSON 文件并更新集合
最简单的解决方案可能是 Python 脚本将其 JSON 写入 Mongo 数据库。然后 Meteor 可以自动订阅对该集合所做的任何更改。
这是我最后做的:
我没有让 meteor 应用程序每天启动 python 脚本,而是将 python 脚本放在主机的文件系统上(在 meteor 应用程序包之外)并创建了一个 cron 作业在主机上每天 运行 它。 JSON 输出文件已保存到主机的文件系统。
然后,在我的流星应用程序中,我在触发文件读取的输出 JSON 上创建了一个文件监视。
我 运行遇到了 Meteor Up (mup) 的一些问题,所以请参阅我的另一个已回答问题 。
我有一个流星项目,它每天运行一次 python 脚本来查询 API 并将结果保存到 private
中的 JSON 文件中。流星服务器监视 JSON 文件的变化。当文件更改时,服务器读取并解析文件并相应地更新集合。
问题是 private
中的资产在 meteor 启动时加载并以只读方式复制到不同的资产文件夹中,因此脚本无法更改文件。
我也许可以更改该资产目标文件夹的权限,但这似乎很老套。无论如何,我不认为 private
中的资产是动态的。有人知道我如何完成这个流程吗?
- Meteor 服务器每天启动一次python脚本
- 脚本查询 API,将结果保存到服务器上的 JSON 文件
- Meteor 服务器读取 JSON 文件并更新集合
最简单的解决方案可能是 Python 脚本将其 JSON 写入 Mongo 数据库。然后 Meteor 可以自动订阅对该集合所做的任何更改。
这是我最后做的:
我没有让 meteor 应用程序每天启动 python 脚本,而是将 python 脚本放在主机的文件系统上(在 meteor 应用程序包之外)并创建了一个 cron 作业在主机上每天 运行 它。 JSON 输出文件已保存到主机的文件系统。
然后,在我的流星应用程序中,我在触发文件读取的输出 JSON 上创建了一个文件监视。
我 运行遇到了 Meteor Up (mup) 的一些问题,所以请参阅我的另一个已回答问题