Нравится. Смущает одно - два приложения "рядом". А можно глянуть код? Очень интересно, как cron выглядит в коде.
У меня сбор информации в базу с помощью API (30-50 тысяч строк) часа три, и перенос из базы, через удаленное API в хранилище — еще дольше. Не хочется делать эти две итерации последовательно. Надеюсь осилить это параллельно с async, что избавит от колбэк-хелла, до некоторой степени.
Обновление раз в неделю - меня это очень даже устроит.
Sails.js уже в списке - уж больно ладно сложен. Меня пугает только: а теперь впиши красиво. Потому примеры. Да, попробую именно примеры приложений на нем поискать.
У меня (до следующего вопроса на тостере) было заблуждение, что setTimeout - функция с колбеком, нарушающая классным образом асинхронность, в ожидании разрешения функции по заданному таймингу.
От гигантского отличия радуюсь и плачу. Асинхронность - восторг и слезы. Потому что мозг привык к последовательному. Пишу простыню логической серийной каши и медленно раскладываю в асинхронную красоту. Если бы был сильный бэкграунд методологический... Можно условно назвать JS моим первым и последним языком. Не хватает базы.
smanioso А есть ссылка на доказательство идеи замусоривания памяти и описание этого процесса? Мне для гугла ключевых слов не хватает. Все что нахожу - как приведенный пример выше — не глубоко и не про то.
smanioso: Я слабо осведомлен с менеджментом памяти внутри методов объекта. Точнее никак не осведомлен. Что читать - не знаю. Большая часть встречаемого материала на просторах необъятного - var j = 'Hello!"; console.log() и частности библиотечные.
В сравнении с .forEach(). С форычем возникает какое-чудо, будто бы он проносится по всем множеству, выстраивает очередь событий-функций в память, где они хранятся до полного завершения всех функций в очереди и только потом освобождает память.
Алексей, вам и smanioso вопрос - почему моё решение выедает память? Есть какой-то канонический ответ? У меня только облако тегов в голове крутится: closure, method, callback, а склеить не могу.
Алексей Тен: ага, промахнулся. Только я и ваш код не понял. Вы ведь весь этот код хотите в цикле крутить, вызывая функцию send() и вы уверены, что это позволит гарбежд-коллектору сбрасывать состояние этоготаймваута, так? Пока не понимаю, но попробую скоро и отпишусь.
Да, я так вас и понял. Но и сам тайм-аут имеет сходную логику и является функцией с коллбеком, как я ее понимаю. А ретерн будет мгновенно отрабатываться, как вы справедливо отметили в идее об issue разработчикам. Так?
Тимур Шемсединов: Мне как-то неудобно вывалить всю проблему сюда (комментарии для кода никак не годятся). Если вас не затруднит - я выслал почтой доступ к репозиторию и среде ide.c9.io
Я уже почти понял, в чем у меня проблема. В вашем варианте с промисами, функция fs.read возвращает, а в моем - не существует EOF. И я свой вариант EOF для запроса к API пока написать не осилил головой.
Есть "но": внутри функций - запросы к API, выполненные в том же неблокирующем формате async, а забор данных выполняется в серии обращений через API, т.е. у меня всегда все сразу валится в function(err, results) где results is equal to: { one: '', two: '' }
Я, видимо, как-то должен вопрос переформулировать, но не понимаю, как именно.