2016-12-27 1 views
1

저는 Pybossa webhooks와 협력하여 Pybossa 결과를 실시간으로 분석하기 위해 this 플러그인을 발견했습니다. 나는 그것을 포크로 찍었지만 어떻게 처형 될지는 알지 못했다. 다음과 같이Pybossa webhooks의 문제점, 실행 방법

현재, 내가 그것을 실행하고 :

파이썬 app.py의 test_project test_project 내 project_short_name입니다

. 하지만이 저장소의 index.html 페이지로 되돌아 가고 있습니다.

+0

가능한 복제본 http://stackoverflow.com/questions/40873109/access-pybossa-database-trough-terminal/41351184#41351184 –

+0

내 의견으로는, 이것은 중복이 아닙니다. 이것은 실시간으로 처리 작업을 처리하는 것과 관련된 것이며, 다른 하나는 명령 줄을 통한 일반적인 pybossa 유지 관리에 관한 것입니다. 이것은 워크 플로우 자동화 질문이며, 다른 하나는 인터페이스 질문입니다. –

+0

@JosephCoco 예. 이것이 내가이 질문에서 찾고있는 것입니다. Enki를 명령 줄을 통해 실행하고 유지할 수 있지만 실시간으로 작업 실행을 처리하는 방법은 필자가 필요로하는 것입니다. –

답변

1

발견! 당신이 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에 넣었 기 때문에이 함수를 편리하게 호출 할 수 있습니다.

2

직접 설정하지는 않았지만 webhooks project에서 포크 할 수있는 사용자 지정 마이크로 서비스 외에도 primary Pybossa site을 실행 한 것으로 보입니다.

  1. 기본 Pybossa 서버를 설치하고 실행하고 관리자 계정을 만드십시오.
  2. webhooks 포크 설치 및 실행
  3. 기본 PyBossa 서버의 관리자 account page에서 API 키를 가져옵니다.
  4. webhooks에서 settings.py.tmpl을 복제하고 API 키와 같은 정보를 업데이트하십시오.
  5. 마이크로 서비스를 실행하십시오.
  6. Pybossa에서 설정에서 웹 훅 URL을 사용하도록 프로젝트를 구성합니다.
  7. webhooks에서 index.html 페이지를로드하십시오.

색인 페이지의 차트를 변경하여 관심있는 결과를 표시 할 수 있습니다. 그러나 내가 말했던 것처럼 이것은 내가해야 할 필요가있는 것입니다. 내가 제출 한 답변의 가치에 의존하는 일부 작업을 수행하기 위해 API를 사용하는 JS 발표자를 수정하려고하기 때문에 직접 작성하지 않았습니다. 행운을 빌어 요.

+1

Joseph이 말했듯이 그것은 갈 길입니다 :-) 나는 PYBOSSA와 webhooks 솔루션의 개발자입니다. Webhooks 마이크로 서비스는 PYBOSSA 서버와 병행하여 실행해야합니다. 이렇게하면 결과를 실시간으로 분석하고 게시 할 수 있습니다. –

+0

@ DanielLombrañaGonzález Webhooks 관련 예제 문서를 추가 할 수 있습니까? Enki를 webhook으로 사용하고 싶습니다. 반환 할 결과가없는 index.html 페이지에서 멈추었습니다. –

+0

@ joseph-coco 나는 의심이있다.Webhooks에서 GET 요청을 실행하려면 Pybossa 서버에서 트리거가 있어야합니다. Pybossa 코드 어디에서나 GET 요청 코드를 추가해야합니까? 또는, 다른 방법으로, 그것이 정확히 어떻게 취급됩니까? –