Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “运行”;任务“;定期使用Django,无需单独的服务器_Python_Django - Fatal编程技术网

Python “运行”;任务“;定期使用Django,无需单独的服务器

Python “运行”;任务“;定期使用Django,无需单独的服务器,python,django,Python,Django,我意识到有人问过类似的问题,但是这些问题都是关于一个特殊的问题,而我现在甚至不知道我该如何去做我需要做的事情 也就是说:当我的Django应用程序在服务器上运行时,我需要定期从我的Django应用程序中抓取一个网站。我发现的第一个选项是“django后台任务”(这似乎不是我想要的工作方式)和“芹菜节拍”,如果我理解正确,它建议换一台服务器 我认为只运行一个单独的线程是可行的,但如果不中断服务器,我似乎无法做到这一点,反之亦然,这不是“正确”的方式 有没有一种方法可以定期运行任务,而不需要单独的服

我意识到有人问过类似的问题,但是这些问题都是关于一个特殊的问题,而我现在甚至不知道我该如何去做我需要做的事情

也就是说:当我的Django应用程序在服务器上运行时,我需要定期从我的Django应用程序中抓取一个网站。我发现的第一个选项是“django后台任务”(这似乎不是我想要的工作方式)和“芹菜节拍”,如果我理解正确,它建议换一台服务器

我认为只运行一个单独的线程是可行的,但如果不中断服务器,我似乎无法做到这一点,反之亦然,这不是“正确”的方式

有没有一种方法可以定期运行任务,而不需要单独的服务器和对Django中的应用程序发出请求

“芹菜节拍”,如果我理解正确,建议换一台服务器

您可以在Django应用程序所在的服务器上托管芹菜(以及任何其他需要的组件)。它们将是完全独立的过程


将Django应用程序+芹菜工人+消息队列捆绑到同一个服务器部署中并不少见。在不同的服务器上部署可能是理想的,就像在许多服务器上分发Django应用程序一样,但这绝对不是必需的。

我不确定这是否是“正确”的方法,但对我来说这是一种既便宜又简单的方法。我刚刚创建了定制的Django管理命令,并通过诸如CRON之类的调度程序运行它们,或者在我的例子中,我刚刚在我的应用程序中使用了Heroku调度程序。

这听起来像是我需要的,谢谢!谢谢,这正是我想要的。该应用程序并不打算真正扩展,因为它更像是一种学习体验,所以这是完美的。