问题标签 [pyinotify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 如何在文件修改时在虚拟机中重新启动 Django 开发 Web 服务器?
我有一台由 Vagrant 管理的 VirtualBox 机器。在这台机器上,我运行一个 Django 开发 Web 服务器:
代码库很大,所以我安装了更快的代码重新加载pyinotify
。Django 从 1.7 开始支持它。我用的是1.7。
代码库位于同步文件夹 (NFS) 中,我使用 Sublime 3 编辑主机 (OS X) 上的文件。
但是,inotify 不能很好地与 NFS 配合使用,并且代码自动重载不起作用。
如何在 VM 中重新启动开发服务器?
python - pyinotify 只能监控两次更改,为什么?
我正在使用带有pyinotify的Celery来监控模块的变化,但是Celery的功能不起作用。我想弄清楚为什么。所以我测试了 pyinotify 模块并出现了问题。
我按照 pyinotify 的教程编写了一些代码:
我用 gedit 和 CommandLine echo 更改了 '/home/mp/Public/testfile' 两次:
然后我继续修改文件,但是无论你修改多少次文件都没有回显。
pyinotify 0.9.6
rsync - 使用 rsync 时 pyinotify 不起作用?
当我使用 rsync 更改文件时,似乎没有更新更改。我有这个 rsync 脚本:
我正在运行带有选项的 Odoo 服务器,该选项--auto-reload
允许更新 python 和 xml 文件而无需重新启动服务器。如果我修改里面的文件/home/user/odoo8/addons/
,那么即使我不重新启动服务器它也会更新。但是,如果我修改目录中的 antyhing source
,然后执行 rsync 将更改推送到/home/user/odoo8/addons/
,更改不会更新。只有当我重新启动服务器时它才会更新。
如果您“覆盖”文件,pyinotify 是否不起作用?例如,喜欢使用 rsync?
python - 递归 pyinotify watch 阻止子目录被删除
这是一个奇怪的问题,strace 没有给我任何有用的信息。我正在使用 pyinotify 0.9.6 递归地监视目录,以便我可以将有关它的更改提交到 MySQL 数据库。问题是当我运行 pyinotify 时(无论是否被守护),我可以删除子目录中的文件,但不能删除子目录本身。rmdir 以状态 0 退出,并且在系统级别上看起来一切正常,但子目录仍然存在,只是令人不寒而栗。我可能只是因为我是框架的新手而变得愚蠢,但这里是我如何初始化手表的示例:
所以在这个例子中,如果有一个文件'/path/to/dir/file.txt'我可以在'file.txt'上运行一个rm并且它被删除,但是如果有一个子目录'/path/to /dir/subdir' 在 'subdir' 上运行 rm -r 会干净地退出,但该目录实际上并没有被删除。
此外,我的日志没有被写入,但我很确定这是我的错。
编辑:
这是一个示例 CommitFunction:
EDIT2:实际上我的日志可能没有被写入,因为在提交期间我没有在任何地方调用日志或打印函数。我只是直接写到我的 MySQL 数据库
EDIT3:好的。希望我没有深入研究。这是我在命令行上尝试的:
这是实际的提交函数:
如果您愿意,我可以继续深入,但 dbaccess 具有提交和查询数据库的所有功能(没有真正触及 fs),并且它进一步从定义我的表的“模型”文件中提取。如果有帮助的话,它是一个烧瓶/uwsgi 应用程序
python - 如果插件路径内容是指向模块的链接,为什么参数 --auto-reload 不起作用?
描述
通常,如果您更改 python 代码意味着,您需要重新启动服务器以应用新更改。
如果--auto-reload
启用该参数意味着,您不需要重新启动服务器。它可以自动重新加载 python 文件和 xml 文件,而无需重新启动服务器。它需要pyinotify。它是一个用于监控文件系统更改的 Python 模块。
上一个问题
我得到了错误:
但是我遵循了此链接的建议,现在我不再收到该错误:
在此之后,我在服务器日志中得到了这个:
这意味着它工作正常。事实上,我使用物理插件路径对其进行了测试,它确实有效。
当前问题
我的所有模块都有几个文件夹,但我只使用一个插件路径:/opt/odoo_8/src/linked-addons
. 此文件夹包含我正在使用的模块的所有链接。当我运行 Odoo 时,所有模块都运行良好。
但问题是 pyinotify 无法检查链接之外的文件,也不能很好地重新加载文件。我应该怎么做才能解决这个问题?pyinotify 有没有办法识别链接的内容?
PD:我不想改变我在 Odoo 中管理模块文件夹的方式。
python - pyinotify 用于观看文件夹中的新文件创建
我正在使用 python 中的 pyinotify 模块观看正在观看的文件夹。但是文件的创建速度比 pyinotify 的事件处理程序处理它们的速度要快。有没有办法解决这个问题,所有创建的新文件都可以在以后由事件处理程序排列或占用?
代码片段:
python - 自定义 linux 守护进程不会停止使用“服务停止”
我编写了一个自定义 python 守护程序,它通过 ubuntu 14.04 上的 init.d 脚本作为服务运行。启动服务工作正常,但是当我尝试执行“服务监视器停止”时,守护程序不会终止。我正在使用 pyinotify 来守护文件观察程序以进行更改。
在 init.d 脚本中:
...
...
...
为了确保守护进程正确处理 SIGERM,我可以手动运行它:
守护进程成功处理 SIGTERM 并正确退出。
我似乎无法弄清楚为什么当我执行“服务监视器停止”时它不处理它。
python - Pyinotify / Watchdog 在一次编辑时触发两次修改事件
每次修改某个文件时,我都试图启动一个 python 脚本。准确地说,我在 Raspberry Pi 的串行端口上有一个设备,它将数据写入文本文件(test.txt)。我已经尝试了这两种工具 - Watchdog / Pinotify。每次修改文件(触发事件Watchdog:on_modified
/Pyinotify:)IN_MODIFY
,它都会重复触发。我已经尝试了所有其他方法,即使IN_CLOSE_WRITE
正如某些人所建议的那样,但这根本不起作用。有人知道,一次文件更新如何只触发一个事件?
我使用 Pyinotify 的代码(有点编辑的教程文件):
或看门狗:
python - PyInotify:如何使用 pyinotify 放置嵌套监视或监视更深的目录
我正在制作手表
目录。我想查看此目录中的任何新目录,例如
我想查看创建的新目录以查找“提交”之类的文件并执行必要的操作。
现在我正在 /temp 目录上创建一个监视,在 IN_CREATE 事件上我检查它是否是一个目录,如果是,我在找到的新目录上放置一个新的监视并调用另一个事件处理程序。
代码:
如果在手表内创建手表的方法是正确的,那么一旦找到文件,我该如何停止我的内部手表?
python - 在 pyinotify ProcessEvent 中捕获错误
我在从 pyinotify 捕获事件处理程序中的错误时遇到问题。我正在尝试对写入后刚刚关闭的文件进行一些处理。
这是我的脚本的简化版本:
似乎当我收到错误或异常时,主循环中的异常或事件处理程序中的异常BaseException都没有捕获错误或异常。
我收到这样开头的消息:
错误:未捕获的python异常,关闭通道(:[Errno 2]没有这样的文件或目录:
所以我的问题是:如何捕捉这些异常?