Pybossa webhooks中的问题,如何执行i

2024-04-25 20:54:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Pybossa webhooks,并找到了this插件来实时分析Pybossa的结果。我用叉子叉了它,但不知道该如何执行。在

我目前执行如下:

Python应用程序副本测试项目

其中test_project是我的project_short_名称。但是,它使我恢复到索引.html此存储库的页面。在


Tags: testproject名称插件应用程序html副本叉子
2条回答

我自己还没有设置它,但是看起来除了可以从webhooks project派生的自定义微服务之外,您还可以同时运行primary Pybossa site。在

  1. 安装并运行主Pybossa服务器并创建一个管理帐户。
  2. 安装并运行webhooks fork
  3. 从主PyBossa服务器上的管理员account page获取API密钥。
  4. 在webhooks中,克隆settings.py.tmpl设置.py.tmpl更新API密钥等信息。
  5. 运行微服务。
  6. 在Pybossa中,将项目配置为在设置中使用webhook URL。
  7. 在webhooks中,加载索引.html第页。

您可以更改索引页上的图表以显示您感兴趣的结果。但正如我所说,这正是我所理解的需要做的。我自己并没有这么做,因为我只是要修改presenter 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文件所以我可以很方便地叫它。在

相关问题 更多 >