Возможно ли использовать this.unblock() с перколятом: synced-cron? Я ожидаю, что PJ2_1, PJ2_2, PJ2_3 будут быстро распечатываться, а не ждать завершения Meteor.call() через 10 секунд, но это не так.Использование this.unblock() с метеорным перколятом: synced-cron
Пример работы:
SyncedCron.add({
name: 'pj2',
schedule: function(parser) {
return parser.text('every 30 seconds');
},
job: function() {
console.log("PJ2_1:");
Meteor.call('fa2', function(err, res) {
if (err) {
console.log("FA2: ERROR");
}
});
console.log("PJ2_2:");
Meteor.call('fa2', function(err, res) {
if (err) {
console.log("FA2: ERROR");
}
});
console.log("PJ2_3:");
}
});
Пример Meteor.methods():
if (Meteor.isServer) {
Meteor.methods({
'fa2': function() {
this.unblock();
const data = HTTP.get('http://www.fakeresponse.com/api/?data={%22Hello%22:%22World%22}&meta=false&sleep=10');
return data;
}
})
}
Есть ли причина использовать вызов метода асинхронного вызова на сервере, а не просто использовать функцию напрямую? Вы можете сохранить этот СУХОЙ более простым способом. –
Согласовано. Использование HTTP.get напрямую с обработкой обратного вызова. – cannin