微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通知作为cron作业

如何解决通知作为cron作业

| 我编写了一个Python应用程序,该应用程序作为cron作业正在运行。后来我添加了一些库(例如
pynotify
和其他*),因为我想收到描述正在发生的消息的通知,但cron似乎无法运行这样的应用程序。 您是否知道每五分钟运行一次此应用程序的替代方法?我正在使用Xubuntu。
import gtk,pygtk,os,os.path,pynotify
我可以在没有cron的情况下运行应用程序而不会出现问题。 Cron似乎正在运行该应用程序,但不会显示通知消息。在
/var/log/cron.log
中没有错误。该应用程序每分钟执行一次,不会出现问题。 我的crontab:
*/1 * * * * /home/xralf/pythonsrc/app
谢谢     

解决方法

        如果您的python脚本本身运行良好,并且仅在
cron
中失败,则很可能未在cron中设置库的路径。这是来自我的一个cronjobs的示例,我在执行文件之前将路径添加到cron
00 12 * * * LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib && export LD_LIBRARY_PATH && /path/to/my/script
您必须将上述路径替换为库的相应路径。     ,        如果cron作业以\“ you \”的身份运行,并且设置了DISPLAY var(导出DISPLAY =:0),则应该没有问题。     ,        我在pynotify的cron作业中看不到任何问题吗?您遇到什么错误? 您可以单独运行python代码来检查python代码是否运行得很好,但只能在cron上失败吗? Celery是用Python编写的分布式作业队列和任务管理器,但可能满足您的需求。 如果您知道程序将在5分钟内关闭,Supervisord也可以执行某些cron任务。因此,您可以配置超级用户以在不久后启动任务。他们都不比cron job更容易。     ,        您最可能的问题是路径问题。除非您专门进行设置,否则Cron没有用户路径。因此,如果您的库安装在非标准位置或用户帐户中,则cron将需要完整路径,否则您需要在crontab文件中设置path变量。 添加行
PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/any/other/path
到您的crontab文件,看看它是否有效。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。