我看不到任何展示如何在incron http://inotify.aiken.cz/中使用虚拟环境的示例
有人知道这是否可能吗?
更新:我运行incrontab -e,然后添加以下行:
/home/vmail/jobstat.us/submit/new/ IN_CREATE /home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd但是,当我尝试从命令行运行相同的命令时,例如
/home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd上面写着
vmail@mail:~$ /home/vmail/jobstatuspy3/bin/python3 /home/vmail/mailtounicodetoarchive.py --context=prd
Traceback (most recent call last):
File "/home/vmail/mailtounicodetoarchive.py", line 14, in <module>
me = singleton.SingleInstance()
NameError: name 'singleton' is not defined显然,上面的错误是因为它实际上没有在venv中执行命令,所以我在venv中安装的tendo模块无法工作。
对如何让venv与incron协同工作有什么想法吗?
发布于 2013-05-20 20:12:34
使用您通常用来激活虚拟环境和运行程序的所有命令编写一个shell脚本。
然后设置incron来运行shell脚本。
发布于 2013-05-20 20:15:27
您可以将通常在shell中输入的activate直接放入python代码中。如果您的项目名为A,则如下所示:
activate_this = 'A/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))发布于 2013-05-21 09:28:55
在进一步调查之后,我决定不使用inotify。一种更简单的方法是只轮询目标目录中的文件,并在supervisor下运行我的脚本。
https://stackoverflow.com/questions/16648894
复制相似问题