将作业委派给各种客户的计划程序

时间:2015-11-11 21:20:20

标签: python scheduled-tasks

我有一个简单的任务,我想使用某种调度程序。 这是问题的解决。

1。)两台或两台以上的机器也在等待工作 2.)需要执行的作业列表。

启动调度程序。 检查机器1是否没有作业,将列表中的第一个项目发送给它。 检查机器2是否没有作业,将列表中的下一个项目发送给它。

如果机器2在机器1之前完成,则通知回调度程序,调度程序然后将列表中的第三项发送到机器2。

重复此方案,直到列表为空。

这是我提出的代码,这是有效的,但我如何在函数之间委派?

import logging
import threading
import time

logging.basicConfig(level=logging.DEBUG,
                    format='[%(levelname)s] (%(threadName)-10s) %(message)s',
                    )

def worker1(job):
    logging.debug('Starting: %s' % job)
    time.sleep(7)
    logging.debug('Exiting: %s' % job)
    return

def worker2(job):
    logging.debug('Starting: %s' % job)
    time.sleep(3)
    logging.debug('Exiting: %s' % job)
    return


if __name__ == '__main__':
    jobs = ['job1', 'job2', 'job3', 'job4', 'job5']

    #t1 = threading.Thread(target=worker1, args=(job, ))   
    for job in jobs:
        try:
            t1 = threading.Thread(target=worker1, args=(job, ))
            t1.start()
            t1.join()
            #Thread(target=myfunction, args=(job,)).start()
        except Exception, errtxt:
            print errtxt

0 个答案:

没有答案