草庐IT

docker - 从 docker 堆栈运行 cron 作业的最佳实践

事情是这样的:我有一个堆栈,其中节点js后端将消息发送到队列,perl工作人员(cron作业)使用来自该队列的消息。我已经“dockerized”了节点js后端,但现在我正在尝试对PerlWorkers做同样的事情。然而,Perl应用程序本身已经dockerized,因为队列中的“作业”是基于crontab(即每2分钟)消耗的,我的问题是:从docker-compose文件构建堆栈时,最好的方法是什么?如果我应该提供更多详细信息,请告诉我。谢谢! 最佳答案 我在Howtorunacronjobinsideadockercontain

用于 docker 的 Cron 容器 - 它们实际上是如何工作的?

我已经使用docker几个月了,并且正在对各种不同的服务器镜像进行docker化。一个一致的问题是许多服务器需要运行cron作业。网上有很多关于这个的讨论(包括在Stackoverflow上),但我并不完全理解它的机制。目前,我在每个容器中使用主机的cron和dockerexec来运行脚本。我创建了一个关于脚本名称和位置的约定;我所有的容器都有相同的脚本。这避免了主机的cron依赖于容器。基本上,主机的cron每分钟执行一次:foreachcontainerdockerexec-it/cronscript/minute-script这可行,但会使容器依赖于主机。我想做的是创建一个cro

cron - 为什么Dockerfile中的cron服务不运行?

而searching对于这个问题,我发现:cron-f应该启动服务。所以我有:运行apt-getinstall-qq-ygitcron接下来我有:CMDcron-f&&crontab-l>pullCron&&echo"*****git-C${HOMEDIR}pull">>pullCron&&crontabpullCron&&rmpullCron我的dockerfile部署没有错误,但cron没有运行。怎么做才能启动cron服务加上一行?PS:我知道我的cron中的git函数实际上应该是一个钩子(Hook),但对我(可能对其他人)来说,这是关于学习如何使用Docker设置crons:-)

ubuntu - docker ubuntu cron -f 不工作

尝试在docker容器中运行cron作业。正确配置supervisord(我在ps-ef中看到cron-f,如果我杀死它,它会重新生成)crontab文件(用于测试):*****echohi>>/root/test我试着把它放在/etc/cron.d/crontab/etc/crontab和/var/spool/cron/crontabs/crontab没有任何效果-我在/root/test中没有得到任何东西有什么想法吗? 最佳答案 你可能想检查你的crontab语法;/etc/crontab等位置的crontab文件需要额外的用户

cron - 在 Docker 容器内,cronjobs 没有被执行

我从Dockerfile制作了一个Docker镜像,并且我希望在基于此镜像的容器运行时定期执行cronjob。我的Dockerfile是这样的(相关部分):FROMl3iggs/archlinux:latestCOPYsource/srv/visitorWORKDIR/srv/visitorRUNpacman-Syyu--needed--noconfirm\&&pacman-S--needed--noconfirmmakegcccroniepython2nodejsphantomjs\&&printf"*/2****node/srv/visitor/visitor.js\n">>cro

python - 使用 cron 运行 python 脚本

这可能是一个非常简单的问题,但我怎样才能每2天在我的fedoradist上运行一个python脚本呢?谢谢安东尼 最佳答案 这是一个关于cron的问题。首先是在你的python脚本之上添加一个SHEBANG行。#!/usr/bin/envpython使用chmod+x使您的脚本可执行然后执行crontab-e并添加00*/2**/path/to/your/pythonscript.py 关于python-使用cron运行python脚本,我们在StackOverflow上找到一个类似的问

python - cron 运行脚本时的环境变量

我有一个使用环境变量的Python脚本。该脚本在直接运行时完全按计划工作;但是,我想暂时将其作为cron作业每分钟运行一次。目前在我的cron.目录中,我有一个名为scrapers的文件,其中包含:*****root/usr/bin/python3.5/code/scraper.py这会运行Python脚本,但脚本失败,因为在脚本中我使用了两个环境变量。我读到我应该将SHELL=/bin/bash添加到cron文件中,所以我做了,但这没有帮助。SHELL=/bin/bash*****root/usr/bin/python3.5/code/scraper.py然后我读了Inthecron

python - UnicodeEncodeError 仅在作为 cron 作业运行时

这个问题在这里已经有了答案:SettingthecorrectencodingwhenpipingstdoutinPython(12个回答)关闭9年前。我的程序可以在命令行中正常运行,但是当我将它作为cron作业运行时,它会因错误而崩溃:UnicodeEncodeError:'ascii'codeccan'tencodecharacteru'\xa7'inposition13:ordinalnotinrange(128)语句崩溃printtitle为什么只有当应用程序作为cron作业运行时才会发生这种情况?如何解决这个问题?我试过了(没有帮助):printunicode(title)P

java - 是否可以在 Web 应用程序中运行 cron 作业?

在javaweb应用程序(servlets/springmvc)中,使用tomcat是否可以运行cron作业类型的服务?例如每15分钟清除一次日志数据库。您能以独立于容器的方式执行此操作,还是必须使用tomcat或其他容器运行?请指定该方法是保证在特定时间运行还是每15分钟运行一次,但如果应用程序回收可能会被重置等(如果您使用计时器,则在.net中就是这样) 最佳答案 如Chapter23.SchedulingandThreadPooling中所述,Spring通过Timer和QuartzScheduler(http://www.q

java - 验证 cron 表达式在 Java 中是否有效

我正在使用Quartz在Java中编写调度应用程序。我正在使用CronTrigger,但我的cron表达式在计划之前输入到数据库中,并且基于用户输入。有没有办法在我捕获cron表达式时验证它们是否有效?我宁愿这样做并向用户提供适当的错误消息,而不是等到调度程序运行并且在尝试创建触发器时收到ParseException。这可能是用户输入数据后的几天。 最佳答案 您不能简单地创建一个触发器而不实际执行它吗?在ParseException的情况下,您可以简单地给出适当的反馈。如果表达式没问题,将表达式持久化到DB。编辑:或者干脆这样做:o