我正在尝试使用Python gearman模块进行字符串反转的一个基本示例MY localhost已在端口4730上使用IIS进行设置然而,我得到错误
raise UnknownCommandError(missing_callback_msg)
UnknownCommandError: Could not handle command: 'GEARMAN_COMMAND_TEXT_COMMAND' - {'raw_text': 'HTTP/1.1 400 Bad Requestr'}
客户端.py
import gearman
# setup client, connect to Gearman HQ
gm_client = gearman.GearmanClient(['localhost:4730'])
print 'Sending job...'
request = gm_client.submit_job('reverse', 'Hello World!')
print "Result: " + request.result
Worker.py
import gearman
gm_worker = gearman.GearmanWorker(['localhost:4730'])
# define method to handled 'reverse' work
def task_listener_reverse(gearman_worker, gearman_job):
print 'reporting status'
return reversed(gearman_job.data)
gm_worker.set_client_id('your_worker_client_id_name')
gm_worker.register_task('reverse', task_listener_reverse)
gm_worker.work()
关于为什么会发生这种情况以及如何解决相同的任何建议
gearman的当前版本具有不同的导入结构。你需要说from gearman.worker import GearmanWorker
和from gearman.client import GearmanClient
。
此外,返回应该说return ''.join([i for i in reversed(gearman_job.data[::1])])
,以获得反向字符串。
尝试使用return ''.join([i for i in reversed(gearman_job.data[::1])])
而不是return reversed(gearman_job.data)
。
返回reversed(...)
将给您一个Type Error
。