human
Solve the following python programming problem given the following code:
@ cli.command () 
@ click.option ('--fetcher-num', default = 1, help = 'instance num of fetcher') 
@ click.option ('--processor-num', default = 2, help = 'instance num of processor') 
@ click.option ('--result-worker-num', default = 1, help = 'instance num of result worker') 
@ click.option ('--run-in', default = 'subprocess', type = click.Choice (['subprocess', 'thread']), help = 'run each components in thread or subprocess. always using thread for windows.') 
@ click.option ('--total', default = 10000, help = 'total url in test page') 
@ click.option ('--show', default = 20, help = 'show how many urls in a page') 
@ click.option ('--taskdb-bench', default = False, is_flag = True, help = 'only run taskdb bench test') 
@ click.option ('--message-queue-bench', default = False, is_flag = True, help = 'only run message queue bench test') 
@ click.option ('--all-bench', default = False, is_flag = True, help = 'only run all bench test') 
@ click.pass_context 
def bench(ctx, fetcher_num, processor_num, result_worker_num, run_in, total, show, taskdb_bench, message_queue_bench, all_bench) : 
    '
    Run Benchmark test.
    In bench mode, in-memory sqlite database is used instead of on-disk sqlite database.
    ' 
    from pyspider.libs import bench 
    from pyspider.webui import bench_test 
    ctx.obj ['debug'] = False 
    g = ctx.obj 
    if (result_worker_num == 0) : 
        g ['processor2result'] = None 
if ((run_in == 'subprocess') and (os.name != 'nt')) : 
        run_in = utils.run_in_subprocess 
else : 
        run_in = utils.run_in_thread 
all_test = ((not taskdb_bench) and (not message_queue_bench) and (not all_bench)) 
    if (all_test or taskdb_bench) : 
        bench.bench_test_taskdb (g.taskdb) 
if (all_test or message_queue_bench) : 
        bench.bench_test_message_queue (g.scheduler2fetcher) 
if ((not all_test) and (not all_bench)) : 
        return 
project_name = '__bench_test__' 
    def clear_project() : 
        g.taskdb.drop (project_name) 
        g.projectdb.drop (project_name) 
       ...

    
    

    Fix the buggy line: threads.append (run_in (run_in.invoke, result_worker, result_cls = 'pyspider.libs.bench.BenchResultWorker', ** result_worker_config))
assistant
#Here is Python program to fix the buggy line: threads.

threads.append (run_in (ctx.invoke, result_worker, result_cls = 'pyspider.libs.bench.BenchResultWorker', ** result_worker_config))