Pybossa webhooks 中的问题,如何执行它
Issue in Pybossa webhooks, how to execute it
我正在使用 Pybossa webhooks,发现 this 插件可以实时分析 Pybossa 结果。我分叉了它但不知道它是如何执行的。
目前我是这样执行的:
python app.py test_project
其中 test_project 是我的 project_short_name。但是,它将我还原到此存储库的 index.html 页面。
我还没有自己设置,但你 运行 primary Pybossa site in addition to a custom microservice you can fork from the webhooks project.
- 安装并运行 主 Pybossa 服务器并创建管理员帐户。
- 安装并运行 webhooks fork
- 从您的主 PyBossa 服务器上的管理员 account page 获取您的 API 密钥。
- 在 webhooks 中,克隆 settings.py.tmpl 并更新 API 键等信息。
- 运行 微服务。
- 在 Pybossa 中,将您的项目配置为在您的设置中使用 Webhook URL。
- 在 webhook 中,加载 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里面,方便调用
我正在使用 Pybossa webhooks,发现 this 插件可以实时分析 Pybossa 结果。我分叉了它但不知道它是如何执行的。
目前我是这样执行的:
python app.py test_project
其中 test_project 是我的 project_short_name。但是,它将我还原到此存储库的 index.html 页面。
我还没有自己设置,但你 运行 primary Pybossa site in addition to a custom microservice you can fork from the webhooks project.
- 安装并运行 主 Pybossa 服务器并创建管理员帐户。
- 安装并运行 webhooks fork
- 从您的主 PyBossa 服务器上的管理员 account page 获取您的 API 密钥。
- 在 webhooks 中,克隆 settings.py.tmpl 并更新 API 键等信息。
- 运行 微服务。
- 在 Pybossa 中,将您的项目配置为在您的设置中使用 Webhook URL。
- 在 webhook 中,加载 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里面,方便调用