当Django管理命令在Dotcloud中作为cron作业运行时,登录失败

健信科技

我有一个在Dotcloud上运行的Django应用程序我尝试添加Logentries日志记录,该日志记录在我的网站上可以正常使用,但是导致我的cron作业失败并出现此错误-
Traceback (most recent call last): File "/home/dotcloud/current/my_project/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line utility.execute() File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command commands = get_commands() File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 107, in get_commands apps = settings.INSTALLED_APPS File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__ self._setup(name) File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 50, in _setup self._configure_logging() File "/home/dotcloud/env/local/lib/python2.7/site-packages/django/conf/__init__.py", line 80, in _configure_logging logging_config_func(self.LOGGING) File "/usr/lib/python2.7/logging/config.py", line 777, in dictConfig dictConfigClass(config).configure() File "/usr/lib/python2.7/logging/config.py", line 575, in configure '%r: %s' % (name, e)) ValueError: Unable to configure handler 'logentries_handler': expected string or buffer

这是从cron运行的脚本之一-

#!/bin/bash
echo "Loading definitions - check /var/log/supervisor/availsserver.log for results"
. /etc/profile
/home/dotcloud/env/bin/python /home/dotcloud/current/my_project/manage.py load_definitions

这些是我对Logentries的设置-
'logentries_handler': { 'token': os.getenv("LOGENTRIES_TOKEN"), 'class': 'logentries.LogentriesHandler' } .... 'logentries': { 'handlers': ['logentries_handler'], 'level': 'INFO', },

我做的时候LOGENTRIES_TOKEN就在那里dotcloud env list

这是症状的摘要
--Logentries日志记录在正常使用情况下可以从站点进行工作。
-如果我手动运行脚本-dotcloud run www ~/current/scripts/load_definitions.sh它可以工作。
-如果我从settings.pycron作业工作中删除了Logentries设置
-如果Logentries条目在我的计算机中,则cron作业将失败settings.py

我已经花了数小时试图找到解决方案。有人可以帮忙吗?

健信科技

我已经解决了。
这是以前的crontab-
0 13 * * * /home/dotcloud/current/scripts/load_definitions.sh 2>&1 | mail -s "Load definitions result" [email protected]
无效。
现在就是这样-
0 13 * * * /bin/bash -l -c '/home/dotcloud/current/scripts/load_definitions.sh' 2>&1 | mail -s "Load definitions result" [email protected]
有效。添加/bin/bash -l -c修复它。也许有人可以告诉我为什么它不能像以前那样起作用?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python matplotlib作为cron作业运行时QxcbConnection错误

作为cron作业运行时,lynx -dump的输出不同

bash:在cron作业中使用scp失败,但是从命令行运行时成功运行

通过OSX Cron运行时,Objective C命令失败

每当cron作业无法运行时

作为WAR文件运行时,Sybase JDBC连接登录失败;但是在Eclipse中运行时登录成功

Rscript和rstan作为cron作业运行时的行为不同

作为cron作业运行时,导入paramiko和mysql.connector包不起作用

在终端中命令正常运行时,system()失败

作为作业运行时,从Excel加载SSIS包数据失败

仅当cron作业尚未运行时才运行

XRandR脚本从命令行正确运行,作为cron作业失败

Cron作业无法运行,但是在shell上手动运行时命令正常

当 python 作为作业在 SQL Server 代理中运行时出现 ModuleNotFoundError

当Django在docker下运行时,将python函数作为命令行运行

从sql作业运行时,SSIS脚本任务失败

从VS 2015 Task Runner资源管理器运行时,Gulp任务失败,但从命令提示符下运行时失败

从Cron运行时,Python中的Popen返回不同的输出(与命令行)

从 cron 运行时 Perl 不执行 shell 命令

在perl6中运行命令,在perl6中运行时,在shell中工作的命令会失败

python作为脚本运行时导入失败,但在iPython中却不行?

在PowerShell中作为工作流运行时,where-Object子句失败

Cron作业中的CasperJS和PHP无法打开文件,手动运行时工作正常

作为Gradlew任务运行时,Mockito春季测试失败

Handlebars 仅在作为服务运行时查找失败

某些sed命令在后台运行时失败

将 MsBuild.exe 命令作为服务运行时,如何修复“错误 APPX0002:任务 'ValidateAppxManifest' 失败”错误?

如果运行时间超过 7 分钟,如何在作业重启中设置特定步骤?安全管理系统

命令在终端上运行时在 python 子进程中正常工作,但在 crontab 中执行时失败