我正在使用Pybossa webhooks,并发现this插件可以实时分析Pybossa结果。我分叉了,但没有得到它的执行方式。
目前,我按如下方式执行:
python app.py test_project
其中test_project是我的project_short_name。但是,它正在将我恢复到此存储库的index.html页面。
答案 0 :(得分:2)
我自己没有设置它,但除了你可以从primary Pybossa site分叉的自定义微服务外,你似乎还运行了webhooks project。
您可以更改索引页面上的图表以显示您感兴趣的结果。但正如我所说,这正是我理解需要完成的工作。我自己没有这样做,因为我只是要修改演示者JS以使用API执行一些我希望依赖于提交的答案值的操作。祝你好运。
答案 1 :(得分:1)
我找到了!查看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中,所以我可以轻松地调用它。