worker 是一个简单的任务运行框架, 它可以用来多并发的运行常驻任务以及定时任务。
worker 实现了安全的退出,你可以在任意时间内KILL掉主进程, 它会尽可能的等待所有任务完成后退出, 再也不用怕数据丢失。
worker 是一个无依赖的框架,不必安装其他任何第三方库,同时它支持python2以及python3。
worker 在运行5000个定时任务以及500个常驻任务时能够做到定时任务最大延时1秒(我相信如果任务量这么大,你也不会使用这么简单的任务框架)。
worker 内部限制了进程以及线程的最大开启数量,因此你不必担心占用过多的系统资源。
- github 项目主页: https://github.com/QYLGitHub/worker
克隆项目至本地
git clone https://github.com/QYLGitHub/worker.git
cd worker
python setup.py install
from worker.worker import Worker
def test_a():
print("a runing....")
def test_b():
print("b runing....")
def test_c():
print("c runing....")
if __name__ == '__main__':
w = Worker()
# 添加一个每过5秒运行一次的任务
w.add_run_interval(test_a, interval_time=5)
# 添加一个常驻任务,并同时运行10个此任务
w.add_run_forever(test_b, run_num=10)
# 添加一个当主进程结束时需要运行的任务
w.add_kill_callback(test_c)
# 启动框架
w.start()
由于本人编程水平有限
如果各位朋友有更好的想法、更好的实现或是发现bug.欢迎提issue或者fork修改!
最后祝各位生活愉快!
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.