python - gearman - 继续犯错误

时间:2013-01-10 14:48:32

标签: python gearman

我有一个简单的python脚本来发送gearman任务:

客户端:

        # "source" is a simple tuple
        client = GearmanClient(['localhost'])
        client.submit_job('queue_feed', simplejson.dumps(source))

服务器:

def queue_feed(work, job):
    source = simplejson.loads(job.data)
    print source

if __name__ == '__main__':
    if len(sys.argv) > 1:
        if sys.argv[1] == "spawn":
            worker = GearmanWorker(['localhost'])
            #nohup python /home/padsquad/apps/gearman_articles.py spawn &
            worker.register_task('queue_feed', queue_feed)
            print 'working...'
            worker.work()

我不确定我在这里做错了什么,齿轮箱服务器一直给我以下错误:

TypeError: Expecting byte string, got <type 'NoneType'>

1 个答案:

答案 0 :(得分:3)

我最好的猜测是函数queue_feed应该是return的东西:例如:

def queue_feed(work, job):
    source = simplejson.loads(job.data)
    print source
    return source

如果你没有从python函数中显式返回某些内容,它会隐式返回None这就是为什么python抱怨获取NoneType