0

当我在 OS X El Cap 上运行没有 --local-scheduler 的任务时,我只会收到此错误。使用命令创建的守护进程luigid当前也在运行。

当我使用 --local-scheduler 运行任务时,它按预期运行。在我的 Windows 7 虚拟机上,无论有无 --local-scheduler,它都运行良好。好奇为什么它只在 OS X 上的那一种情况下失败。

代码片段来自我参考的这篇文章开始学习 Luigi:https ://marcobonzanini.com/2015/10/24/building-data-pipelines-with-python-and-luigi/

代码:

import luigi


class PrintNumbers(luigi.Task):
    n = luigi.IntParameter()

    def requires(self):
        return []

    def output(self):
        return luigi.LocalTarget("numbers_up_to_{}.txt".format(self.n))

    def run(self):
        with self.output().open('w') as f:
            for i in range(1, self.n+1):
                f.write("{}\n".format(i))


if __name__ == '__main__':
    luigi.run()

痕迹:

文件“scrape.py”,第 24 行,在 luigi.run()

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第 210 行,运行中 return _run(*args, **kwargs)['success']

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第 238 行,在 _run return _schedule_and_run([cp.get_task_obj()], worker_scheduler_factory)

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/interface.py”,第 194 行,在 _schedule_and_run success &= worker.add(t, env_params.parallel_scheduling)

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第 565 行,在 self._add(item, is_complete) 中添加下一个:

文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第 682 行,在 _add retry_policy_dict=_get_retry_policy_dict(task),

_add_task self._scheduler.add_task(*args, **kwargs) 中的文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/worker.py”,第 441 行

rpc_func 中的文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/scheduler.py”,第 112 行 return self._request('/api/{}'.format(fn_name ),actual_args, **request_args)

_request response = json.loads(page)["response"] 中的文件“/Users/-/.virtualenvs/adwords/lib/python2.7/site-packages/luigi/rpc.py”,第 145 行

文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init .py ”,第 338 行,加载返回 _default_decoder.decode(s)

文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第 366 行,在 decode obj 中,end = self.raw_decode(s, idx=_w(s , 0).end())

文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第 384 行,在 raw_decode 中引发 ValueError(“无法解码 JSON 对象”)ValueError:否JSON对象可以被解码

4

0 回答 0