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如何使Sonar maven插件示例工作   java Log4j2根记录器appender不工作   awt是否有其他方法可以获得整个屏幕的截图?(爪哇)   java我不知道为什么我在测试中得到了超出界限的索引。查拉特(1)   java在JavaFXCSS中fxtextfill和fxtextinnercolor之间有什么区别?   java Edittext输入小于100的百分比值,小数点后只能输入两位数字   java Oracle PreparedStatement NullPointerException适用于某些开发人员,但并非所有开发人员   amazon web services如何在java中获取S3中文件的最新时间   正在分析Java IndexOf找不到正确的数据   int[]到List<int>的java类型映射   apache commons Exec程序不包含在Java路径中   java使用Uri构建URL。建设者   Perl调用Java   java ScrollView阻止某些操作   使用eclipse将文件推送到安卓设备时遇到的java问题   java声明未与列映射的hibernate POJO布尔属性   java“赋值的左侧必须是一个变量”,因为有额外的括号   带有JSON约束的java Android POST请求