발견! 당신이 push_webhook
기능을 찾을 것입니다 pybossa.model.event_listeners
봐, 그것은 대기열로 webhook을 밀어. 동일한 파일에서 on_taskrun_submit, on_auditrun_submit
함수가 호출됩니다.
실제로 웹 훅을 수동으로 실행하려면 pybossa.jobs
을보고 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에 넣었 기 때문에이 함수를 편리하게 호출 할 수 있습니다.
가능한 복제본 http://stackoverflow.com/questions/40873109/access-pybossa-database-trough-terminal/41351184#41351184 –
내 의견으로는, 이것은 중복이 아닙니다. 이것은 실시간으로 처리 작업을 처리하는 것과 관련된 것이며, 다른 하나는 명령 줄을 통한 일반적인 pybossa 유지 관리에 관한 것입니다. 이것은 워크 플로우 자동화 질문이며, 다른 하나는 인터페이스 질문입니다. –
@JosephCoco 예. 이것이 내가이 질문에서 찾고있는 것입니다. Enki를 명령 줄을 통해 실행하고 유지할 수 있지만 실시간으로 작업 실행을 처리하는 방법은 필자가 필요로하는 것입니다. –