Python Heroku Cronjob需要带APScheduler的第二个dyno?

2024-09-24 22:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在heroku上有一个应用程序,使用7美元付费的dyno和9美元的posgresql数据库。在

现在我需要一份亲信。它应该查询我的所有用户,并发送电子邮件给他们中的一些。我相信这项任务需要几分钟。我计划每天晚上运行一次。在

我计划使用APScheduler。我已经在这里找到了一些信息,但我还是不确定我是否需要再买一台dyno或者我的dyno可以处理它?在

这是我当前的程序文件:

web: gunicorn main:app --timeout 120

我一直认为procfile中的一行意味着多使用一个dyno,所以这里我将使用一个时钟进程:

^{pr2}$

另外,cronjobs是如何测试的?我计划创建许多示例用户,并将cronjob设置为第二天执行,这样我就可以看到谁收到了电子邮件,谁没有?在


这里需要第二个动力装置吗?在

这会影响成本吗?在

如何测试cronjobs是否按预期执行?在


Tags: 文件用户程序web信息数据库应用程序heroku
1条回答
网友
1楼 · 发布于 2024-09-24 22:21:35

根据我的需要,Heroku Scheduler已经足够好了,它是免费的,而且使用起来非常简单。在

it executes scheduled jobs via one-off dynos that will count towards your monthly usage.

它只需单独执行.py文件。它通过执行python my_task.py来完成。您可以通过bash手动执行相同的操作。在

我用它发几百封电子邮件,效果很好。请记住,运行所需时间超过5分钟的任务应使用自定义时钟进程,这是一个额外的dyno。在

同时:

Scheduler job execution is expected but not guaranteed. Scheduler is known to occasionally (but rarely) miss the execution of scheduled jobs.

您只需自己输入命令python my_task.py,就可以测试您的作业。您还可以将cron作业的频率更改为每10分钟执行一次。以下是示例:

enter image description here

相关问题 更多 >