如何用Heroku和Django实现简单的cron作业

如何用Heroku和Django实现简单的cron作业,django,heroku,cron,Django,Heroku,Cron,我有一个Django应用程序运行在Heroku上,并使用Heroku Postgres数据库。这是相当低的流量,我想保持每月的成本尽可能低(现在,它是免费运行与Heroku的750免费小时/月)。我有一些简单的cron作业,作为对Django管理命令的调用来实现,我想运行它们,但我不知道如何使用Heroku来实现。我已经读了一些关于调度程序的内容,但仍然对一些事情感到困惑。首先,如果调度器在一个自包含的dyno上运行,它如何调用Django的manage.py文件?其次,调度器任务通常占用多少d

我有一个Django应用程序运行在Heroku上,并使用Heroku Postgres数据库。这是相当低的流量,我想保持每月的成本尽可能低(现在,它是免费运行与Heroku的750免费小时/月)。我有一些简单的cron作业,作为对Django管理命令的调用来实现,我想运行它们,但我不知道如何使用Heroku来实现。我已经读了一些关于调度程序的内容,但仍然对一些事情感到困惑。首先,如果调度器在一个自包含的dyno上运行,它如何调用Django的manage.py文件?其次,调度器任务通常占用多少dyno小时?例如,如果任务只需要30秒就可以运行,那么我是只为30秒的使用量付费,还是与向上旋转(然后向下旋转)dyno相关的成本更高

首先,如果调度器在一个自包含的dyno上运行,它如何调用Django的manage.py文件

当你上传(推送)你的项目时,它会被编译成一个文件。这个slug被分发到运行你的web应用程序的每个dyno,以及每1个dyno。这意味着,通过调度程序或命令运行的每个dyno上都会有manage.py的副本


其次,调度器任务通常占用多少dyno小时

Scheduler插件运行一次性dynos,该dynos将计入您每月的dyno小时数


例如,如果任务只需要30秒就可以运行,那么我是只为30秒的使用量付费,还是与向上旋转(然后向下旋转)dyno相关的成本更高

执行一次性dyno所花费的任何时间都将增加使用量,并将像任何其他dyno一样收取费用

这意味着使用30秒完成任务需要30秒的动态时间()。我不认为你需要为加速/减速时间付费,但你需要为python加载你的应用程序到它可以运行你的管理命令的程度所花费的时间付费,所以试着让你的应用程序在启动时间方面尽可能地轻。

实际上,你可以尝试

它甚至允许1分钟的任务周期,是完全免费的

您只需定义时钟进程并打开时钟

您可以在上查看逐步教程