我有一个简单的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()
我不确定我在这里做错了什么,gearman服务器一直给我以下错误:
TypeError: Expecting byte string, got <type 'NoneType'>
我最好的猜测是,函数queue_feed
应该return
的东西:例如:
def queue_feed(work, job):
source = simplejson.loads(job.data)
print source
return source
如果你不显式地从python函数返回一些东西,它隐式地返回None
,这就是为什么python抱怨得到NoneType