我正在使用Pybossa Webhooks,并找到了this插件来实时分析Pybossa结果。我 fork 了它,但没有得到如何执行。

目前,我正在执行以下操作:

python app.py test_project

其中test_project是我的project_short_name。但是,它使我恢复到该存储库的index.html页面。

最佳答案

我找到了 !查看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中,因此可以方便地调用它。

关于python - Pybossa webhooks中的问题,如何执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41344811/

10-11 07:31