在经典asp中创建一个队列过程

问题描述:

这里是问题: 有一个经典的asp应用程序,它调用lame.exe编码mp3,每天有很多时间 ,并且没有控制调用lame的方式。从另一个字的几个用户中,不存在用于该目的的队列。 所以这里是我的想法:在经典asp中创建一个队列过程

//below code all are pseudo-code 
//process_flag and mp3 and processId all are reside in a database 

function addQ(string mp3) 
add a record to database 
and set process_flag to undone 
then goto checkQ 
end function 

function checkQ() 
if there is a process in queue list and process_flag is undone 
sort in by processID asc 
for each processID 
    processQ(processID) 
end for 
end function 

function ProcessQ(int processID) 
run lame.exe with the help of wscript.exe 
after doing the job set the process_flag to done 
end function 

,所以我只是想知道有没有更好的解决办法? 或其他任何方法吗?

关于。

看起来像经典的asp的合理方法。

只要确保在checkQ函数中,您只检索process_flag设置为undone的队列项目,或者您可能试图重复处理相同的项目。

阅读this有关使用MSMQ的另一种方法的文章 - 它首先创建一个新的公共队列,然后从您的ASP页面发送消息。它还需要额外的可执行文件来处理排队的项目。

+0

哦,我忘了补充说,其实是这样, 但我仍在等待其他方法我的意思是比我更好地完成这项任务的方法。 关于。 – 2010-04-19 19:11:10

+0

@austin的权力 - 是的,我明白这一点。我认为你的方法很好。 – Oded 2010-04-19 19:14:19

这是MSMQ的完美应用。让经过验证的代码处理可靠的消息传递,并发控制等,以便您可以专注于应用程序逻辑。