【发布时间】:2019-09-10 12:53:08
【问题描述】:
需要帮助来实施 Apify webhook。完成一项任务需要一些时间。我想添加一个 Apify webhook 它将运行另一个任务但不知道如何做到这一点。
$.ajax({
url : 'https://api.apify.com/v2/actor-tasks/XXXXXXX/runs?token=XXXXXXXX&waitForFinish=120',
method : 'POST',
contentType: 'application/json',
dataType: 'json',
data : JSON.stringify ({
"queries" : "Outreach link building"
}),
success:function(result) {
console.log(result);
}
});
webhook 将调用以下任务:
$.ajax({
url : `https://api.apify.com/v2/datasets/${datasetId}/items?format=json`,
method : 'GET',
contentType: 'application/json; charset=utf-8',
success:function(response) {
console.log(response); // Items from dataset
}
});
顺便说一句,如果我想实现所需的方式有误,请告诉我您的建议。
【问题讨论】:
-
webhook 不调用任何任务。它只是向您的端点发送运行已完成的“通知”。你需要有某种服务器来监听 webhook。
-
明白。我可以得到一些代码示例吗?说在运行actor之后,我会将datasetId存储在我的数据库中。演员构建完成后,我希望钩子向我的应用程序的 url 发送通知。根据通知,我将更新 datasetId 的状态。
-
通过您的服务器与 Apify 进行集成,然后与您的前端进行通信不是更好吗?
-
是的,我会通过我的服务器来做。运行 actor 后如何知道数据集已准备就绪?
-
从您开始运行的那一刻起,就有项目被推送到数据集。所以只需每秒轮询一次并显示更新的数据。
标签: ajax web-scraping apify