Gearman任务服务器

gmtasks的Python项目详细描述


gmtasks包含一个简单的Gearman Workers多处理服务器, 为便于配置和最大可用性而设计。它包括 任务包装器类,用于捕获可能引发的任何中断或异常 通过您的任务方法,并尝试确保受影响的作业 重新插入到队列中(如果工作进程 脚本异常退出)

请参阅full documentation了解 更详细的信息。

示例用法

from multiprocessing   import freeze_support
from gmtasks.jsonclass import GearmanWorker
from gmtasks           import GearmanTaskServer, Task

# Jobs
def job1(worker, job):
    return job.data['string1']
def job2(worker, job):
    return job.data['string2']
def job3(worker, job):
    return job.data['string3']

# Main loop
if __name__ == '__main__':
    # Need this to run in Windows
    freeze_support()
    # Import all of the jobs we handle
    tasks = [
        Task('job1', job1),
        {'task': 'job2', 'callback': job2},
        ['job3', job3],
        ]
    # Initialize the server
    server = GearmanTaskServer(
        host_list      = ['localhost:4730'],
        tasks          = tasks,
        max_workers    = None, # Defaults to multiprocessing.cpu_count()
        id_prefix      = 'myworker.',
        worker_class   = GearmanWorker,
        use_sighandler = True, # SIGINT and SIGTERM send KeyboardInterrupt
        verbose        = True, # log.info() and log.error() messages
        )
    # Run the loop
    server.serve_forever()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Selenium测试无符号扩展   Java JDBC DB2“CLI0129E无更多句柄”   java无法使SeleniumWebDriver单击复选框   wordpress Http请求帖子只有在通过Java应用程序发送时才起作用   java在while循环中构建Flux对象   java如何使用EL从地图中检索所有值   java在ImagePanel上绘制形状   java为同一服务器上的多个应用程序提供相同的JMX Mbean类   java如何基于s显示文本字段:选择struts 2   单个Java变量可以接受原语或对象数组吗?   java如何在文件中找到最大字节?   java Springboot可执行文件JAR错误:由于缺少EmbeddedServletContainerFactory bean,无法启动EmbeddedWebApplicationContext   JavaSpringJMX级联/联合   eclipse外部的命令行JUnit测试   java设置放大gral plot会导致空plot   java Android小部件   java如何在不同片段中更改具有不同样式的动作栏标题?