+ -
当前位置:首页 → 问答吧 → 请教:管理任务程序

请教:管理任务程序

时间:2011-07-15

来源:互联网

本帖最后由 cecial 于 2011-07-15 10:24 编辑

想写一个程序,有如下功能:
1. 一方面接受用户提交的任务。
2. 另一方面向服务器递交任务。

用户提交完任务后,就不管了,这个管理程序会自动将任务排队,然后按顺序递交给服务器。
因为有好几台服务器,平行的任务数只能有几十个个,所以需要管理程序。

整体背景如下:
1。有5台服务器,能并行运行40个任务(每台服务器8个cpu)
2。用户必须将任务送到服务器运行。
3。本来可以直接telnet到服务器上运行任务,但是当任务数多起来后,要开n多的terminal,不方便。就想能不能写一套程序来实现,自动排队,自动递交,自动运行任务。

这套程序最好能实现如下功能:
1。服务器上的程序能接受客户端递交的任务,并运行,然后返回客户端运行结果(只要判断成功失败就可以),最好能将客户端递交时的环境变量也吃进来,这样,任务运行时,环境就和客户端一样了。
2。客户端的管理程序能和服务器通信后,判断哪些服务器是空闲的,然后将任务递交到空闲的服务器上,如果服务器满了,则等待。
3。客户端的管理程序能接受客户端的提交程序所递交过来的任务,并自动排队


以下是增强功能:
4。客户端可以通过查看程序和管理程序通信,查看任务的运行状态,如成功,失败,等待,正在运行。。。
5。客户端可以通过杀死程序和管理程序通信,杀死指定的任务,包括成功,失败,等待,正在运行。。。
6。提交程序可以设定提交任务的优先级,等待队列按照优先级排序,如果已有队列,新增的任务有更高的优先级,则新增任务可以插队。
7。客户端可以通过查看服务器程序可以查看服务器空闲状态
8。客户端的提交程序提交任务时,可以指定服务器

本人只对perl熟悉,想用Socket实现,望各位大侠不吝赐教!
非常感激各位提供任何的思路,解决方案,后续如果能实现,还有叨扰的地方,谢谢~

作者: cecial   发布时间: 2011-07-15

仙子肯定会来推荐 Erlang 的

作者: zhlong8   发布时间: 2011-07-15



QUOTE:
仙子肯定会来推荐 Erlang 的
zhlong8 发表于 2011-07-15 10:37




    嗯,我来搜搜看Erlang的帖子,谢谢啦~

作者: cecial   发布时间: 2011-07-15