Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 什么';监视文件更改并使用文件中的新数据更新集合的最佳方法是什么?_Meteor - Fatal编程技术网

Meteor 什么';监视文件更改并使用文件中的新数据更新集合的最佳方法是什么?

Meteor 什么';监视文件更改并使用文件中的新数据更新集合的最佳方法是什么?,meteor,Meteor,我有一个meteor项目,每天运行一次python脚本来查询API,并将结果保存到private中的JSON文件中。meteor服务器监视JSON文件的更改。当文件更改时,服务器读取并解析文件,并相应地更新集合 问题是private中的资产在meteor启动时加载,并以只读方式复制到不同的资产文件夹中,因此脚本无法对文件进行更改 我可能会更改该资产目标文件夹的权限,但这似乎有点骇人听闻。无论如何,我不认为private中的资产是动态的。有人知道我如何完成这个流程吗 Meteor服务器每天启动一

我有一个meteor项目,每天运行一次python脚本来查询API,并将结果保存到
private
中的JSON文件中。meteor服务器监视JSON文件的更改。当文件更改时,服务器读取并解析文件,并相应地更新集合

问题是
private
中的资产在meteor启动时加载,并以只读方式复制到不同的资产文件夹中,因此脚本无法对文件进行更改

我可能会更改该资产目标文件夹的权限,但这似乎有点骇人听闻。无论如何,我不认为
private
中的资产是动态的。有人知道我如何完成这个流程吗

  • Meteor服务器每天启动一次python脚本
  • 脚本查询API,将结果保存到服务器上的JSON文件
  • Meteor服务器读取JSON文件并更新集合

    • 最简单的解决方案可能是Python脚本将其JSON写入Mongo数据库。然后Meteor可以自动订阅对该集合所做的任何更改。

      最简单的解决方案可能是Python脚本将其JSON写入Mongo数据库。然后Meteor可以自动订阅对该收藏所做的任何更改。

      以下是我最后做的事情:

      我没有让meteor应用程序每天启动python脚本,而是将python脚本放在主机的文件系统上(meteor应用程序包之外),并在主机上创建一个cron作业,以便每天运行它。JSON输出文件已保存到主机的文件系统

      然后,在我的meteor应用程序中,我在输出JSON上创建了一个触发文件读取的文件监视


      我在Meteor Up(mup)方面遇到了一些问题,所以请看我的另一个问题。

      以下是我最终的做法:

      我没有让meteor应用程序每天启动python脚本,而是将python脚本放在主机的文件系统上(meteor应用程序包之外),并在主机上创建一个cron作业,以便每天运行它。JSON输出文件已保存到主机的文件系统

      然后,在我的meteor应用程序中,我在输出JSON上创建了一个触发文件读取的文件监视


      我在Meteor Up(mup)方面遇到了一些问题,请参见我的另一个问题。

      您是否在生产服务器上使用Meteor运行Meteor应用程序?@Jankapunkt我还没有部署它,目前它只是在开发服务器上运行。@Jankapunkt为了澄清我使用的是
      meteor--一旦
      禁用热代码推送,你是否在生产服务器上使用
      meteor
      运行meteor应用程序?@Jankapunkt我还没有部署它,目前它只是在开发服务器上运行。@Jankapunkt为了澄清我使用meteor运行时的问题--一旦禁用热代码推送,我也会从部署的角度提出建议,因为有一天@Sam可能想要运行部署,而该部署将不具有Meteor开发环境的开箱即用文件状态观察者功能。生产服务器上的FS处理很容易变得混乱(sync/async/permissions/processs/locks/hazards等)。我也会从部署的角度提出这一点,因为有一天@Sam可能希望运行部署,而该部署将不具有Meteor开发环境的开箱即用的文件状态观察器功能。生产服务器上的FS处理很容易变得混乱(同步/异步/权限/进程/锁/危险等)。