首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python matplotlib作为cron作业运行时出现QxcbConnection错误

Python matplotlib是一个用于绘制数据可视化图形的强大库。当将其作为cron作业运行时,可能会出现QxcbConnection错误。这个错误通常是由于matplotlib尝试使用X11图形系统进行绘图,而cron作业默认没有可用的X11显示。

要解决这个问题,可以采取以下几种方法:

  1. 使用Agg后端:在matplotlib中,可以通过设置后端来选择图形输出方式。可以将后端设置为Agg,它是一个非交互式的后端,不需要X11显示。在代码中添加以下行来设置后端:
代码语言:python
代码运行次数:0
复制
import matplotlib
matplotlib.use('Agg')
  1. 设置虚拟显示器:可以使用Xvfb(X Virtual Framebuffer)来创建一个虚拟的X11显示器。这样,即使没有物理显示器,也可以在虚拟显示器上运行matplotlib。首先,需要安装Xvfb:
代码语言:bash
复制
sudo apt-get install xvfb

然后,在cron作业中添加以下行来设置虚拟显示器:

代码语言:bash
复制
xvfb-run -a python your_script.py
  1. 使用无头模式:如果不需要图形显示,可以在matplotlib中启用无头模式。无头模式将绘图输出保存为图像文件,而不需要X11显示。在代码中添加以下行来启用无头模式:
代码语言:python
代码运行次数:0
复制
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

然后,使用plt.savefig()将图像保存为文件。

以上是解决Python matplotlib作为cron作业运行时出现QxcbConnection错误的几种方法。根据具体情况选择适合的方法来解决该问题。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、云函数(SCF)、弹性容器实例(Elastic Container Instance)等。这些产品提供了稳定可靠的计算资源和容器化服务,适用于运行Python脚本和应用程序。您可以通过腾讯云官网了解更多产品详情和使用指南。

腾讯云产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

caffe随记(九)---利用FCN和已有的model进行图像语义分割

本例中我们使用的是pascalcontext-fcn32的模型,这个下载链接在它的文件夹里有,就是url那个文件 下载  pascalcontext-fcn32s-heavy.caffemodel 这个文件 2、增加python...的路径 本次我使用的方法是 vim ~/.bashrc 在最后一行添加python路径,如下图,请根据自己的路径修改路径 ?...infer.py  然后发现报错了……错误如下所示: QXcbConnection: Could not connect to display ?...//就是增加了这两行 matplotlib.use('Agg') //就是增加了这两行 import matplotlib.pyplot as plt import caffe 然后就可以正常执行了...,因为我连的是服务器,是纯命令行界面,不能弹出生成图片的对话框,但是可以保存图片以供查看,算是解决问题了 执行 python infer.py 最后得出一个 test.png ?

1.2K00

利用FCN和已有的model进行图像语义分割

本例中我们使用的是pascalcontext-fcn32的模型,这个下载链接在它的文件夹里有,就是url那个文件 下载 pascalcontext-fcn32s-heavy.caffemodel 这个文件 2、增加python...的路径 本次我使用的方法是 vim ~/.bashrc 在最后一行添加python路径,如下图,请根据自己的路径修改路径 ?...infer.py 然后发现报错了……错误如下所示: QXcbConnection: Could not connect to display ?...matplotlib.use('Agg') //就是增加了这两行 import matplotlib.pyplot as plt import caffe 然后就可以正常执行了,因为我连的是服务器...,是纯命令行界面,不能弹出生成图片的对话框,但是可以保存图片以供查看,算是解决问题了 执行 python infer.py 最后得出一个 test.png ?

85010

详解在Linux中怎么使用cron计划任务

cron 服务没有为 “每个月的最后一天” 设置选项,因此,替代方式是使用下一个月的第一天,像如下所示(这里假设当作业准备运行时,报告所需要的数据已经准备好了)。...限制访问 cron 普通用户使用 cron 访问可能会犯错误,例如,可能导致系统资源(比如内存和 CPU 时间)被耗尽。...你说,“不是以 root 去运行这些作业?” 不一定。在这篇文章中的第一个示例中,出现在注释中的用户名字段可以用于去指定一个运行作业的用户 ID。...那意味着如果在一个计划运行的期间关闭计算机,这些计划的任务将不再运行,直到它们计划的下一次运行时间。如果这里有关键的 cron 作业,这可能导致出现问题。...这些错误可能是无害的,但是,往往不是这样的,它们可能导致问题。通过设置功能策略,使用户与管理员互相配合,可以使个别的 cron 作业尽可能地不干扰其它的用户和系统功能。

3.4K21

Python】APScheduler简介

APScheduler 内置了三种调度系统: Linux Cron 风格的调度系统(并有可选的开始和结束时间) 基于时间间隔的执行调度(周期性地运行作业 job ,并有可选的开始和结束时间) 只执行一次的延后执行作业调度...非默认的作业存储不会将作业数据保存到内存中,相反,内存会作为后端存储介质在保存、加载、更新和搜索 job 过程中的中间人。作业存储不会在调度器(scheduler)之间共享。...更方便的做法时,使用print_jobs()来格式化输出作业列表以及它们的触发器和下一次的运行时间。...错过的作业执行以及合并操作(coalescing) 有时候 scheduler 无法在被调度的 job 的计划运行时间点去执行这个 job 。...如果在你的应用程序中出现了这种情况,你可以增加 executor 的线程(进程)的数目,或者调整misfire_grace_time,设置一个更高的值。

2.6K20

《Linux命令行与shell脚本编程大全》第十六章 控制脚本

16.1.3 捕获信号 也可以不忽略信号,在信号出现时捕获它们并执行相应命令。 trap命令允许你来指定脚本要监看并从shell中拦截的linux信号。...那么值钱带减号的就变成默认作业了。 16.4.2 重启停止的作业 可以将已停止的作业作为后台进程或前台进程(会接管你当前工作的终端)重启。 用bg命令实现。 bg 加上作业号。...atd会检查某个特殊目录(通常在/var/spool/at)来获取at命令提交的作业。默认情况下,atd会没60s检查一下这个目录,如果设置的运行时间和当前时间匹配,atd守护进程就会运行此作业。...2.获取作业的输出 显示器不会关联到该作业,取而代之的是linux将提交该作业的用户的电子邮件地址作为STDOUT和STDERR。任何标准输出和标准错误都会通过邮件发送给用户。...cron程序可以安排定期执行的作业cron程序会在后台运行并检查一个特殊的表,来获取已安排执行的作业。 1.cron时间表 采用一种特别的格式来指定作业何时运行。

3K61

如何在Linux系统中使用Cron指南

cron作业运行时,它在受限环境中运行,这意味着它不会自动继承用户或系统的环境变量或路径。这可能会导致cron作业失败的问题,因为它无法找到必要的可执行文件或脚本,由于未定义或不正确的路径。...Cron将提醒您检测到的任何错误,提供了一个有价值的保护措施,防止意外输入无效的cron作业。...如何排查Cron作业 不幸的是,当Cron作业未能运行时,这可能会令人沮丧,并且根据任务的不同可能会有问题。因此,这里是一些基本指南,用于调查此问题的原因。 排查的第一步是确保Cron作业正确定义。...Cron作业示例 最后,我们将展示几个cron作业示例,它们几乎涵盖了所有可能的Cron语法情况。把这些作为你自己制作的基础。 命令 解释 * * * * * 每分钟运行一次Cron作业。...这些示例提供了各种Cron语法情境的参考,可以作为创建自己Cron作业的基础。 最佳实践和技巧 在用Cron安排之前手动测试您的脚本,以确保它们按预期工作。

4810

Python定时任务,三步实现自动化

安装检查 安装完成后检查一下是否安装成功,同样使用 status命令查看 出现如下提示表示安装成功: [在这里插入图片描述] 另外,在ubuntu下可能会出现这样的提示: [在这里插入图片描述] 这个也表示可以正常使用...3. cron用法 有几个关于cron的简单用法可以了解一下,后面也会通过一个案例详细介绍如何使用 首先,列出当前用户计划的cron作业: crontab -l 查看其它用户的cron作业: crontab...–l –u username 移除已经计划的cron作业: crontab – 4....首先我们需要每天从ftp服务器中下载最新的任务数据,将数据下载到本地后通过Python进行数据汇总统计,最后将结果存入数据库中,如果期间某个环节出现问题则发送告警邮件。...说点题外话 如果说你平时的工作有很多重复的任务,像日常指标的采集、取数汇总统计、邮件自动转发等等 一旦这些工作你可以通过脚本设置好逻辑,自动化任务也就可以实现它,最多就需要你每天注意一下邮件,看看有没有发生错误就行了

1.2K30

Python基于APScheduler实现定时任务

Python基于APScheduler实现定时任务 Python这个语言的优势就在于有丰富的第三方库,既然原生实现有这样那样的缺点,我们可以借助第三方库来实现定时任务。...APScheduler,即Advanced Python Scheduler的缩写,是一个简单易用的python定时框架。...BlockingScheduler适用于定时任务是唯一要执行的任务,BackgroundScheduler适用于定时任务不是唯一的任务,主线程还有其他任务要执行,因此将定时任务作为后台任务来执行。...date方式 最基本的方式,作业只会执行一次 date方式接收两个参数: run_date指定运行时间,可以精确到秒 from datetime import date from apscheduler.schedulers.blocking...The 'date' trigger and datetime.now() as run_date are implicit # 上面的英文的意思是date触发器是默认的触发器,此时此刻是默认指定的运行时

2.4K10

Flink on Zeppelin 作业管理系统实践

在研发作业管理系统中,我们引入Apache Zeppelin组件作为Flink SQL作业提交客户端,Flink 批流作业可视化预览的核心组件。...Zeppelin还支持在解析器/任务作用域的Flink运行时参数配置,集成hive catalog ,并支持简易的cron job执行,并对多版本Flink均提供了支持,最新的master分支支持了最新的...模式进行运行,由于每个长跑作业都需要建立实时监控,对server压力很大,调度任务从外部运行SQL,也经常出现卡顿,无法提交作业的情况。...具有水平扩展性,作业调度器可以兼容多个Zeppelin server 作为客户端提交作业; 批作业与流作业的Zeppelin server独立开,每次运行批作业使用AWS EMR 集成的Zeppelin...更加灵活的参数及依赖包管理模式 后续对特定作业运行时参数及依赖包需要支持可定制,灵活配置,当然仅限新任务提交到新的cluster生效。

1.9K20

使用 at 命令在 Linux 上安排任务

当你希望命令或脚本在某个特定时间运行时,你不需要将手指放在键盘上盘旋等待按下回车键,或者是在特定时间坐在办公桌前。相反,你可以通过 at 命令来设置任务。...at vs cron 对于那些使用 cron 在 Linux 系统上安排任务的人来说,at 命令类似于 cron,因为你可以在选定的时间调度任务,但是 cron 用于定期运行的作业 —— 甚至是每年仅一次...大多数 cron 作业的频率都设置为每天、每周或每月运行一次,不过你可以控制运行的频率和时间。 另一方面,at 命令用于仅运行一次的任务。想在午夜重启系统?...如果不可以,作业将退出并显示错误。如果可以,则运行在 at 中指定的命令。它将命令视为 “进入 /home/shs 或退出并显示错误”。...executed using /bin/sh at> reboot now at> job 37 at Wed Apr 1 16:00:00 2020 注意,root 的任务以 root 作为执行者显示在队列中

2.8K20

Python实现定时任务的几种方法

APScheduler,即Advanced Python Scheduler的缩写,是一个简单易用的python定时框架。...BlockingScheduler适用于定时任务是唯一要执行的任务,BackgroundScheduler适用于定时任务不是唯一的任务,主线程还有其他任务要执行,因此将定时任务作为后台任务来执行。...date方式 最基本的方式,作业只会执行一次 date方式接收两个参数: run_date指定运行时间,可以精确到秒 from datetime import date from apscheduler.schedulers.blocking...The 'date' trigger and datetime.now() as run_date are implicit # 上面的英文的意思是date触发器是默认的触发器,此时此刻是默认指定的运行时间...实现定时任务 Python定时库APScheduler原理及用法 (部分参考文献已在文中列出)

3.7K22

用 Node.js 实现定时任务

Cron 作业的另一个优点是,你可以安排程序以不同的时间间隔执行不同的脚本。 ?...这是 node-cron 的入口。我们希望能够定期删除错误日志文件,而不必进行手动操作。我们将用 node-cron 来做到这一点。首先看一个简单的任务。...Cron Job自动删除错误文件 注意:要模拟本任务,可以通过在参数中设置分钟数来将间隔设置为较短的时间 你可以在调度程序中执行任何操作。从创建文件到发送电子邮件和运行脚本的各种操作。...为了避免这种情况的发生,你还可以用 Cron 作业定期备份数据库中的现有数据。让我们来看看如何做到这一点。...服务正在运行的Cron作业 ? 由Cron Job自动发送的电子邮件 总结 在本文中,我介绍了 Cron 作业以及如何在 Node.js 程序中使用。

5.7K10

Linux定时任务Crontab命令使用详解与总结

crontab命令的原理 当使用者使用 crontab 这个命令来创建工作排程之后,该项工作就会被纪录到/var/spool/cron/里面去了,而且是以帐号来作为判别的喔!...但请注意,不要使用 vi 直接编辑该文件, 因为可能由于输入语法错误,会导致无法运行 cron 喔!...,终端被该作业占据;而在后台运行作业时,它不会占据终端。...如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中: 如: command >out.file 2>&1 & 在这个例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做...经验教训: 打算在服务器上 每天晚上23:00 定时执行Python脚本,去备份MySql数据库,命令如下: * 23 * * * python /var/www/html/crontab_python

6.7K33

Python下定时任务框架APSched

1).利用pip安装:(推荐) # pip install apscheduler 2).基于源码安装:https://pypi.python.org/pypi/APScheduler/ # python...TwistedScheduler: 适合使用Twisted框架的应用      QtScheduler: 适合使用QT的情况 4.配置调度器 APScheduler提供了许多不同的方式来配置调度器,你可以使用一个配置字典或者作为参数关键字的方式传入...当任务暂停时,它的运行时间会被重置,暂停期间不会计算时间。...scheduler.shutdown() 默认情况下调度器会关闭它的任务存储和执行器,并等待所有正在执行的任务完成,如果不想等待,可以进行如下操作: scheduler.shutdown(wait=False) 注意: 当出现...No handlers could be found for logger “apscheduler.scheduler”次错误信息时,说明没有  logging模块的logger存在,所以需要添加上,

1.4K20

Python任务调度模块APScheduler使用

APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务、并以daemon方式运行应用。...:固定日期触发器:任务只运行一次,运行完毕自动清除;若错过指定运行时间,任务不会被创建 interval:时间间隔触发器,每个一定时间间隔执行一次。...croncron风格的任务触发。 ? ? 作业操作 1. 添加作业:上面是通过add_job()来添加作业,另外还有一种方式是通过scheduled_job()修饰器来修饰函数。...@sched.scheduled_job(‘cron’, id=’my_job_id’, day=’last sun’) def some_decorated_task(): print(“I am...它可以为date, interval或者cron。对于不同的trigger,对应的参数也相同。 以上就是本文的全部内容,希望对大家的学习有所帮助。

1.2K20

如何在Ubuntu 14.04上使用Ansible部署高级PHP应用程序

Queue: NO Cron: YES 这意味着cron正在后台正常工作。作为示例应用程序的一部分,有一个cron作业每分钟运行一次,更新数据库中的状态条目,以便应用程序知道它正在运行。...队列工作者与cron作业类似,因为他们在后台运行任务。不同之处在于应用程序通过用户执行的操作或通过cron作业调度的任务将作业推送到队列中。...这意味着cron将在第一次运行时启动该进程,并且当工作程序运行时,任何后续的cron运行都将被忽略run-one。一旦工作程序停止,run-one将允许该命令再次运行,并且队列工作程序将再次启动。...一分钟后,它将更新为如下所示: Queue: YES Cron: YES 这意味着队列工作者正在后台正常工作。我们在上一步中启动的cron作业作业推送到队列中。...此作业运行时更新数据库以显示其正在运行。 我们现在有一个工作示例Laravel应用程序,其中包括正常运行的cron作业和队列工作程序。

10.7K60

Agari使用Airbnb的Airflow实现更智能计划任务的实践

Agari,是一家电子邮件安保公司,拦截钓鱼网站的问题,正越来越多地利用数据科学、机器学习和大数据的业务尤其出现在如Linkedln、Google和Facebook这样的数据驱动公司,以满足迅速增长的数据和建模需求...在这篇文章中,我将讨论我们使用工作流调度来提高我们数据管道可靠性的的需求,以提供之前文章的管道作为工作示例。...使用Cron时,一个开发者需要写一个程序用于Cron调用。...尽管Airflow能处理故障,有时最好还是隐藏DAG以避免不必要的错误提示。在如下截图中,那“cousin domains”DAG正是被禁用的。...因此,这个图很清晰地告诉了为了运行时间更可预测,如果我们要根据速度和可扩展性增强,我们该在哪里花时间。

2.6K90

Flask 学习-86.Flask-APScheduler 创建定时任务

Advanced Python Scheduler(APScheduler)是一个Python库,可让Python代码稍后执行,一次或定期执行。...APScheduler的全称是Advanced Python Scheduler。 允许您将Python代码安排为稍后执行,可以只执行一次,也可以定期执行。您可以随时添加新作业或删除旧作业。...如果您将作业存储在数据库中,那么调度程序重启后它们也将存活下来并保持其状态。...当调度器重新启动时,它将运行它在离线时应该运行的所有作业,APScheduler文档https://link.zhihu.com/?...Flask-APScheduler 中默认使用的就是 BackgroundScheduler triggers 触发器 triggers支持三种任务触发方式 date:固定日期触发器,任务只运行一次,运行完毕自动清除;若错过指定运行时

1.6K20

定时任务之crontab命令

注意,普通用户一般没有权限访问/var/spool/cron ?...  命令:59 23 * * * /home/suifeng/scripts/test.sh 1>/home/suifeng/log.txt &   3、每天23点59分后台执行test.sh脚本;并将错误输出写书...(即将错误输出和标准输出全部写入log.txt中)   命令:59 23 * * * /home/suifeng/scripts/test.sh 1>/home/suifeng/log.txt 2>&1...& 相关说明:   0表示键盘输入   1表示标准输出   2表示错误输出   &表示后台执行   >>表示追加   >表示覆盖写 注意:   1、当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时...可以使用&命令把作业放到后台执行。   2、需要用户交互的命令不要放在后台执行,因为那样子机器将会在那一直等待   3、作业在后台运行时,一样会将结果输出在屏幕上,干扰你的正常工作。

1.2K20
领券