OpenShift:无法使用 cron python 脚本连接到 MySQL 数据库

2024-02-05

我正在 OpenShift 上设置一个应用程序。它需要一个 Python 脚本每小时运行一次,并将数据从在线服务器提取到 OpenShift 上的 MySQL 数据库中。我通过在计算机上本地运行 Python 脚本并使用端口转发技术来填充该数据库已经有一段时间了。这就像一个魅力。下面是执行此操作时显示的端口转发信息。

Service Local               OpenShift
------- -------------- ---- -------------------
httpd   127.0.0.1:8080  =>  127.12.248.131:8080
mysql   127.0.0.1:3306  =>  127.12.248.130:3306
node    127.0.0.1:8081  =>  127.12.248.129:8080

Press CTRL-C to terminate port forwarding

以及我在本地脚本中使用的变量......

host='127.0.0.1'
user='user_placeholder'
passwd='password_placeholder'
db='3v3'
port=3306

当然,我希望脚本能够在 OpenShift 的服务器上自动运行,这样我就不必自己执行此操作。经过快速搜索后,我偶然发现了 cron 方法。可以将 python 脚本放入地图中以使其每小时运行一次。我设置了一些环境变量来访问我的数据库,就像我在本地脚本中所做的那样。但是,当我跟踪脚本时,该脚本似乎无法连接到 MySQL 数据库。我什至打印了环境变量,它们与我用来成功端口转发的环境变量完全相同。

host=os.environ['OPENSHIFT_EXTMYSQL_DB_HOST'] # prints '127.12.248.130'
user=os.environ['OPENSHIFT_EXTMYSQL_DB_USERNAME'] # prints 'user_placeholder'
passwd=os.environ['OPENSHIFT_EXTMYSQL_DB_PASSWORD'] # prints 'password_placeholder'
db=os.environ['OPENSHIFT_EXTMYSQL_DB_NAME'] # prints '3v3'
port=int(os.environ['OPENSHIFT_EXTMYSQL_DB_PORT']) # prints 3306

错误信息:

File "/var/lib/openshift/57c57f1889f5cfd9bb00006b/app-root/runtime/repo/.openshift/cron/minutely/test.py",

第 36 行,在 db = MySQLdb.connect(host=os.environ['OPENSHIFT_EXTMYSQL_DB_HOST'], user=os.environ['OPENSHIFT_EXTMYSQL_DB_USERNAME'], passwd=os.environ['OPENSHIFT_EXTMYSQL_DB_PASSWORD'], db=os.environ['OPENSHIFT_EXTMYSQL_DB_NAME'], 端口=int(os.environ['OPENSHIFT_EXTMYSQL_DB_PORT']))

File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py",

第 81 行,在连接中 返回连接(*args,**kwargs)

File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/MySQLdb/connections.py",

第 187 行,在init超级(连接,自我)。init(*args, **kwargs2)

_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on '127.12.248.130' (113)")

老实说,我不知道哪里会出错。我知道这不是太大的领先优势,但如果有人想知道问题可能是什么,我会很高兴听到。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenShift:无法使用 cron python 脚本连接到 MySQL 数据库 的相关文章

  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 引发 RuntimeError(f"目录 '{directory}' 不存在") RuntimeError: 导入 fitz 时目录 'static/' 不存在

    当我运行 extract img py 文件时出现此错误 RuntimeError f 目录 directory 不存在 运行时错误 导入 fitz 时不存在目录 static 我不明白为什么这会给我发回此错误消息 我之前看到过关于这个话题
  • 通过鼻子测试检查某个函数是否发出警告

    我正在使用编写单元测试nose http somethingaboutorange com mrl projects nose 0 11 2 我想检查函数是否引发警告 该函数使用warnings warn 这是很容易就能做到的事情吗 def
  • 如何更改Mysql的连接排序规则

    如何更改 mysql 数据库的连接排序规则 我在 ubuntu 14 中使用 Mysql workbench 5 5 和 mysql 5 5 当我执行存储过程时 出现错误 错误代码 1267 操作 的排序规则 utf8 general ci
  • 绘制“plot”而不是“scatter”时,图例选择会中断

    再会 这个问题是后续问题为什么图例选取仅适用于 ax twinx 而不适用于 ax https stackoverflow com q 60167378 9282844 下面提供的最小代码分别绘制了两条曲线ax1 and ax2 ax1 t
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • MySQL中Join同表临时表

    我喜欢在 MySQL 中加入一个失败的临时表 这个想法很简单 CREATE TEMPORARY TABLE temp table LIKE any other table srsly it does not matter which tab
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 如何使用 python 操作系统更改驱动器?

    我正在尝试更改当前目录C to Y 我试过 import os os chdir Y 但我不断收到错误消息 提示无法找到驱动器 本质上我正在寻找相当于 cd d cmd 中的命令 你确定吗Y 确实是有效的驱动器号吗 Try os chdir
  • 如何使用python读取最后一行的特定位置

    我有一个太大的 txt 文件 并且有几行类似的行 如下所示 字1 字2 字3 字4 553 75 我对位置 4 值 感兴趣 即最后一行 553 75 我的文件文本 word1 word2 word3 word4 553 20 word1 w
  • 如何使用 jira-python 设置 fixVersions 字段

    我正在尝试使用 jira python 模块 http jira python readthedocs org en latest 更新现有的 JIRA 具体来说 我正在尝试设置问题的fixesVersion 列表 我已经尝试了一段时间但没
  • Laravel 雄辩的 withCount() 应该比 with() 慢

    所以我问这个的原因是在我当前的应用程序中withCount 与仅通过以下方式获取关系的所有数据相比 响应时间几乎增加了三倍with 并只是从前端获取长度 javascript 我认为使用的要点withCount 是为了加快查询速度 但也许我
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • python中打印字符串的长度

    有没有什么方法可以找到 即使是最好的猜测 Python中字符串的 打印 长度 例如 potaa bto 是 8 个字符len但 tty 上只打印 6 个字符宽 预期用途 s potato x1b 01 32mpotato x1b 0 0mp
  • 如何将 pytest 装置与 django TestCase 一起使用

    我如何在TestCase方法 类似问题的几个答案似乎暗示我的例子应该有效 import pytest from django test import TestCase from myapp models import Category py
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • watchOS 2 与 CocoaPods 配合使用

    有人让 CocoaPods 与 watchOS 2 一起使用吗 我尝试将 use framework 与 platform watchos 2 0 一起使用 但它说 无效Podfile文件 不支持的平台watchos2 平台必须是 ios
  • 是否可以从谷歌电子表格填充谷歌表单?

    我想创建一个使用电子表格中的数据的表单 以便它是动态的 是否有可能做到这一点 我无法找到任何描述如何操作或任何示例的地方 似乎所有可能的方法都是从表单填充电子表格 我也会使用该表单 但这不是这里的主要问题 是的 使用表单脚本并使用 FORM
  • 如何升级django?

    我的项目在 Django 1 5 4 上运行 我想升级它 我做到了pip install U I django现在pip freeze显示 Django 1 6 5 显然 django 已升级 我在virtualenv 但我的项目仍在使用
  • bootstrap-selectpicker 不改变框宽度

    我正在尝试更改显示所选选项的选择器框的宽度 但无论我尝试什么 我都无法更改它 也无法更改框的颜色 任何想法或建议表示赞赏 我假设应该更改框宽度的代码片段如下 如您所见 我将其一直设置为 25 但宽度仍然很宽 selectpicker wid
  • 如果窗口未激活则获取输入 (Windows)

    简洁版本 当窗口未激活时 如何在使用 C C 的 Windows 中接收输入消息 背景资料 我目前正在开发一个不应该依赖于任何窗口的输入系统 因此它可以例如也可以在控制台中使用 我的想法是创建一个仅接收消息的不可见窗口 这可以使用 HWND
  • 在 Go 1.18 中 strings.Title() 已被弃用。现在该用什么?如何?

    按照建议here https www thesaurus com e grammar when to capitalize words 人名应该大写 例如John William Smith 我正在用 Golang 编写一个小软件 它从用户
  • 在另一个文件中查找一个文件的内容

    我使用以下 shell 脚本将一个文件的内容查找到另一个文件中 bin ksh file home nimish contents txt while read r line do grep line home nimish another
  • 从领域模型通信回应用层

    我有一个带有价格列表的域模型产品 public class Product private List
  • 派生类型的自动静态调用

    有谁知道如何使派生类自动实例化具有模板类型的静态变量 这要么不需要派生类的编写者提供任何内容 要么强制他调用此静态方法以使派生类定义有效的 这可能是无法理解的 我会尝试更好地定义它 基本上我有一个全局工厂类 带有一个名为 registerT
  • 在 JQuery 中输入时将 INPUT 附加到 TEXTAREA

    我有一个输入文本框 当有人在 INPUT 文本框中键入内容时 我需要它附加 添加到 TEXTAREA 值 假设用户在文本框中输入 12345 文本区域 默认值 评论 将自动添加 评论 12345 在他们键入时添加 12345 假设area是
  • animate.css 在 Chrome 最新版本(73 以上版本)中不起作用

    https daneden github io animate css https daneden github io animate css 这是 animate css 的链接 它在我的浏览器 Chrome Firefox 等 上没有显
  • 使用 gettext 的动态消息 (AngularJS)

    我有一个带有 Django 后端和 AngularJS 前端的应用程序 我用角度 gettext 插件 https github com rubenv angular gettext 与 Grunt 一起处理翻译 问题是 我有时通过 API
  • MySQL - 除了一个条目之外按字母顺序排序?

    我必须使用 MySQL 对类别列表进行排序 因为我使用的 CMS 只允许这样做 有没有一种方法可以按字母顺序排序 但在列表末尾返回一个条目 其他 ORDER BY ColumnName Other ColumnName
  • 我可以在 SQL Server Management Studio 中对 nvarchar 列类型使用“/”运算符吗? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我试图划分两列 其定义为nvarchar 但是 SSMS 会抛出错误 表示您无法使用 操作员开启nvarchar select locati
  • JavaScript 动画

    我正在尝试制作动画div moving 200px在 JavaScript 中水平排列 下面的代码让它跳跃像素 但是有没有办法让它看起来动画而不使用 jQuery function var div document getElementBy
  • C++ 中具有多态性的静态方法

    我在使用多态性时遇到了一个奇怪的问题 我有一个实现静态方法的基类 由于各种原因 该方法必须是静态的 基类还有一个纯虚方法run 由所有扩展类实现 我需要能够打电话run 来自静态类 当然 问题是静态类没有 this 指针 该方法可以传入一个
  • PyDev Eclipse 项目中没有 JavaScript 自动完成

    我有带有 PyDev 和 JavaScript 开发工具 JSDT 的 Eclipse 我正在使用这个环境来开发 Web 应用程序 Python HTML 和 CSS 编辑器都工作正常 突出显示和自动完成工作正常 JavaScript 突出
  • 在 fnDraw() 上保持分页状态

    我在用jquery我的应用程序中的数据表 我的方法有问题pagination 当我使用时它正在重置this table dataTable fnDraw 我的数据表每 5 秒调用一次fnDraw 更新表时 什么时候this table da
  • PHP 使用的 OS X 和 OpenSSL 上的 Composer 错误

    我删除了旧的 Xampp 本地服务器并安装了它包含的最新服务器 Apache 2 4 18 Unix OpenSSL 1 0 2e PHP 7 0 1 mod perl 2 0 8 dev Perl v5 16 3 但是当我尝试通过以下方式
  • OpenShift:无法使用 cron python 脚本连接到 MySQL 数据库

    我正在 OpenShift 上设置一个应用程序 它需要一个 Python 脚本每小时运行一次 并将数据从在线服务器提取到 OpenShift 上的 MySQL 数据库中 我通过在计算机上本地运行 Python 脚本并使用端口转发技术来填充该