django项目启动时在后台启动脚本

时间:2016-01-27 07:15:00

标签: python django

我有一个脚本从某些API获取数据并将数据添加到mongodb。我的django项目需要这些数据。脚本也与项目分开。 django项目仅适用于单一帐户。随着帐户数量的增加,我必须为每个帐户设置单独的项目。 (具有不同凭证的彼此的副本。在同一项目上不能有多个。)

我想到了cron的工作,但是为一些帐户分离工作会很困惑。

我还搜索了func1(): while True: # do something sleep(30) func2(): while True: # do something sleep(150) func3(): while True: # do something sleep(900) func4(): while True: # do something sleep(7200) if __name__ == '__main__': p1 = Process(target = func1) p2 = Process(target = func2) p3 = Process(target = func3) p4 = Process(target = func4) p1.start() p2.start() p3.start() p4.start() ,我认为它将用于在后台运行脚本。即,当运行项目服务器时,python脚本作为后台进程启动。

我的脚本就像:

Content-Type: application/json

我有两个问题:

  1. 它会对系统资源(内存和CPU)产生多大影响?可以在后台进程中连续运行这种脚本吗?

  2. 在项目运行时,脚本是否还有其他选择?

  3. 注意:目前我正在使用带有mod_wsgi的apache来运行我的项目。

1 个答案:

答案 0 :(得分:0)

我总是尽量避免永不结束的过程。 如果其中一个工作中存在内存泄漏怎么办?

正如评论中提到的@ user1157751,芹菜殴打似乎是这样做的。看看文档,芹菜花为您提供了一个管理面板,以便您可以监控您的任务。

Celery website