当前位置: 首页 > 知识库问答 >
问题:

用heroku bash连续运行python脚本

太叔逸春
2023-03-14

我有一个脚本,它需要两个每次都不相同的输入。所以我必须在每次运行脚本时手动输入。我确实想把这个脚本部署到Heroku。但遗憾的是,我无法在heroku:worker中手动给出任何种类的输入。我不能使用任何环境变量,参数,因为这两个输入不是静态的。所以heroku:worker总是得到“没有输入”的错误。

所以我决定用命令< code > heroku run python 3 main . py 运行这个脚本,但是无论我做什么,我都无法在不结束这个过程的情况下离开终端。我希望即使我离开了终端,这个脚本也能持续运行。

那么,如何在 Heroku 中连续运行 python 脚本并在不中断进程的情况下退出终端呢?

共有1个答案

滕学义
2023-03-14

正如Alexander所说,Heroku脚本部署不应该像这样频繁运行。创建一个简单的Flask服务器来接受来自任何地方的HTTP请求是值得的(这样您就可以通过< code>CURL或Postman运行您的脚本)。如果你不熟悉,Heroku也有很好的教程教你如何做。

但是,如果这是一个硬性要求,即您不能部署一个简单的Web服务器(尽管您确实应该这样做),让我们解决这个问题:

如果您在OSx或任何Unix风格的机器上,您可以用一个简单的< code >进程脚本来后台处理一个进程

我不太熟悉windows,但我认为你可以做开始 /b

请注意,这是一个糟糕的解决方案,一旦您关闭用户会话/关机,您的脚本将停止运行。

创建一个按需接收请求的Web服务器的正确方法-这样您就可以在需要运行脚本时传递您需要的任何参数。

 类似资料:
  • 问题内容: 这可能是一个非常简单的问题,但是如何每两天在我的fedora dist上运行一个python脚本? 谢谢 安东尼斯 问题答案: 这是关于cron的问题。首先是在python脚本顶部添加SHEBANG行。 使您的脚本可执行 然后执行crontab -e并添加

  • 运行连续的 promise。 使用 Array.reduce() 通过创建 promise 链来运行连续的 promises,其中每个 promise 在 resolved 时返回下一个 promise 。 const runPromisesInSeries = ps => ps.reduce((p, next) => p.then(next), Promise.resolve()); cons

  • 问题内容: 我想从C调用Python脚本,并传递脚本中所需的一些参数。 我要使用的脚本是mrsync或多播远程同步。我通过调用以下命令从命令行进行了工作: -m是包含目标ip地址的列表。-s是包含要同步的文件的目录。-t是目标计算机上将放置文件的目录。 到目前为止,通过使用以下C程序,我设法运行了没有参数的Python脚本: 这很好。但是,我找不到如何将这些参数传递给方法的方法。 问题答案: 似乎

  • 问题内容: 我有一个想要添加到cron的python脚本。 脚本具有+ x权限。 如何将其添加到crontab?(例如,我希望它每分钟运行一次)。 重要提示:当我(使用外壳)导航到脚本的文件夹时,无法使用“ ./script_name.py”运行它;它不起作用。但是,当我使用“ Python script_name.py”运行它时,一切正常。 问题答案: 从您应该运行该脚本和脚本符合下列条件: 可

  • 问题内容: 我正在尝试使用PHP运行Python程序。这是代码 这可以通过命令行运行,但不能通过浏览器运行。我正在使用Apache,因此可能需要正确的权限?我对Linux还是很陌生,不知道如何使它工作。 任何帮助,将不胜感激! 编辑1: 尝试使用,但没有任何反应。我给出了脚本的完整路径。使脚本可执行,但是没有运气。我可以在服务器上尝试其他任何方法吗?(这是一个CentOS 5) 问题答案: 您需要

  • 问题内容: 我想从PHP运行Python脚本。该脚本的语法很好,当我从命令行运行它时,它会在它旁边生成一个图像文件。当我从命令行运行PHP文件(包含Python exec)时,它将生成一个图像文件。很好。问题是:当我使用浏览器并运行PHP时,它不会生成任何图像文件。我使用的是Xubuntu OS。 问题答案: 问题是matplotlib后端设置。我更改为“ Agg”,并且plot函数正常运行。