我有一个简单的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'>
答案 0 :(得分:3)
我最好的猜测是函数queue_feed
应该是return
的东西:例如:
def queue_feed(work, job):
source = simplejson.loads(job.data)
print source
return source
如果你没有从python函数中显式返回某些内容,它会隐式返回None
这就是为什么python抱怨获取NoneType