在Pybossa Webhooks中发行,如何执行它



我正在与Pybossa Webhooks一起工作,并找到了该插件来分析Pybossa的实时结果。我对它进行了分配,但没有得到如何执行。

目前,我正在执行如下:

python app.py test_project

其中test_project是我的project_short_name。但是,它正在将我恢复到index.html页面。

我还没有自己设置,但是除了可以从Webhooks Project提供的自定义微服务之外,您似乎还运行了两个主要的Pybossa网站。

  1. 安装并运行主Pybossa服务器并创建一个管理员帐户。
  2. 安装和运行webhooks fork
  3. 从主pybossa服务器上的管理员帐户页面中获取API键。
  4. 在webhooks中,克隆settings.py.tmpl并更新信息,例如api键。
  5. 运行微服务。
  6. 在Pybossa中,配置您的项目以在您的设置中使用Webhook URL。
  7. 在Webhooks中,加载index.html页。

您将更改索引页面上的图表以显示您感兴趣的结果。但是,就像我说的那样,这正是我所知道的。我没有自己做,因为我只是要修改主持人js来使用API执行一些我想要的操作,我希望取决于提交答案的价值。祝您好运。

我找到了它!查看pybossa.model.event_listeners,您会找到push_webhook功能,然后将Webhook推入队列。

在同一文件中由 on_taskrun_submit, on_auditrun_submit函数调用。

如果您真的想手动执行Webhook,请查看pybossa.jobs,您会找到webhook功能,这是Webhook执行的位置。您可以像这样手动称其为:

def trigger_webhook(short_name, task_id=0, result_id=0):
    from pybossa.jobs import webhook
    from datetime import datetime
    from pybossa.core import project_repo
    with app.app_context():
        project = project_repo.get_by_shortname(short_name)
        payload = dict(event="task_completed",
                       project_short_name=project.short_name,
                       project_id=project.id,
                       task_id=task_id,
                       result_id=result_id,
                       fired_at=datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S"))
        webhook(project.webhook, payload)

我将此功能放在cli.py中,这样我就可以轻松地称呼它。

最新更新