GithubHelp home page GithubHelp logo

meiycs / worker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from perrornet/worker

0.0 2.0 0.0 16 KB

一个无依赖、简单方便的任务运行框架, 可运行常驻任务、定时任务

License: MIT License

Makefile 19.83% Python 80.17%

worker's Introduction

worker

目录

项目介绍

worker 是一个简单的任务运行框架, 它可以用来多并发的运行常驻任务以及定时任务。
worker 实现了安全的退出,你可以在任意时间内KILL掉主进程, 它会尽可能的等待所有任务完成后退出, 再也不用怕数据丢失。
worker 是一个无依赖的框架,不必安装其他任何第三方库,同时它支持python2以及python3。
worker 在运行5000个定时任务以及500个常驻任务时能够做到定时任务最大延时1秒(我相信如果任务量这么大,你也不会使用这么简单的任务框架)。
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修改!
最后祝各位生活愉快!
Shurnim icon

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

worker's People

Contributors

perrornet avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.