0

Pybossa 没有描述如何配置 webhook。

我在配置 webhook 时遇到了一些问题,以下是我的步骤:

  1. fork pybossa webhook示例
  2. 使用默认设置(修改后的 api_key 和端点)运行 webhook。
  3. 在 Pybossa 中,修改项目并添加 webhook 以指向 webhook 运行 URL。
  4. 打开命令行窗口并执行以下命令:

# rqworker 高

然后当任务完成时,我看到命令行窗口中有日志。这是抱怨以下我收到以下错误:

14:06:11 *** Listening on high...
14:07:42 high: pybossa.jobs.webhook(u'http://192.168.116.135:5001', {'project_short_name': u'tw', 'task_id': 172, 'fired_at': '2017-08-10 06:07:42', 'project_id': 17, 'result_id': 75, 'event': 'task_completed'}) (e435386c-615d-4525-a65d-f08f0afd2351)
14:07:44 UnboundLocalError: local variable 'project' referenced before assignment
Traceback (most recent call last):
  File "/home/baib2/Desktop/pybossa_server/env/local/lib/python2.7/site-packages/rq/worker.py", line 479, in perform_job
      rv = job.perform()
  File "/home/baib2/Desktop/pybossa_server/env/local/lib/python2.7/site-packages/rq/job.py", line 466, in perform
      self._result = self.func(*self.args, **self.kwargs)
  File "./pybossa/jobs.py", line 525, in webhook
      if project.published and webhook.response_status_code != 200 and current_app.config.get('ADMINS'):
  UnboundLocalError: local variable 'project' referenced before assignment

我不确定我们是否应该执行以下命令

# rqworker 高

但是如果这个 rqworker 没有运行,我看不到任何组件从 redis 队列中获取工作。

4

1 回答 1

0

您需要运行特定的工作人员,而不是 PYBOSSA 的默认工作人员。只需使用https://github.com/Scifabric/pybossa/blob/master/app_context_rqworker.py像这样运行它:

python app_context_rqworker.py 高

这将设置 Flask 上下文,并且它将正常运行;-)

我们正在改进我们的文档,所以在接下来的几个月里应该会更好。

于 2017-08-11T07:26:43.427 回答