Python中的多进程处理

2 投票
1 回答
1167 浏览
提问于 2025-04-17 00:06

我的问题可能有点模糊。我在寻找一个合理的方法来完成我的任务。我开发了一个网页,用户可以在上面上传一个文件,这个文件是我用Python写的代码的输入文件。

当用户通过网页提交输入文件时,这个文件会被保存在一个临时文件夹里,然后一个后台程序会把它复制到另一个位置。我想要做的是定期检查这个文件夹里的文件(可以写一个后台程序来实现)。如果发现有多个文件,就把它们作为不同的任务来运行,同时限制最多只能有5个任务同时进行。当一个任务完成后,如果文件夹里还有文件,就开始下一个任务,按照时间顺序来处理。

我知道Python有多进程的功能,但我不知道该怎么实现我的需求,或者我是否应该使用像XGrid这样的工具来管理我的任务。通常情况下,代码的执行时间从几个小时到几天不等,但这些任务之间是相互独立的。

1 个回答

0

我使用一个SQL表格来处理这个问题,因为如果不限制的话,我的用户可能会同时发起很多任务。

当有新文件出现时,一个后台程序会把这个文件的名字写进表格里(还有其他各种信息,比如文件大小、日期、时间、用户等等)。

另一个后台程序会读取这个表格,找到第一个还没有执行的任务,执行它,然后把它标记为已执行。如果没有找到需要做的任务,它就会等大约一分钟再检查一次。

这个表格也记录了已经完成的工作,并且可能包含一些结果。你还可以从中计算出平均值。

撰写回答