Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 April 03

D

Dima Moroz in NodeUA - JavaScript and Node.js in Ukraine
Alex Che
Ну если раз в час то можно через  setInterval, крон позваляет сделать расширенный график. Типа каждую субботу в 13.00
Ну так напевно, мені не важливо точність часу коли буде робитися запит, мені просто треба щогодинний запит і все.
источник

AC

Alex Che in NodeUA - JavaScript and Node.js in Ukraine
тогда тем более
источник

D

Dima Moroz in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Тебе setInterval хватит, не парься, в одной из лекций есть скедьюлер
Дякую, але чи можна зменшити розмір пам'яті який використовує setInterval можливо є якісь інші методи його використання (мені не принципово, але просто цікаво)
источник

AC

Alex Che in NodeUA - JavaScript and Node.js in Ukraine
Как вариант в отдельном процессе
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
cron это скедьюлер операционной системы, а то, что ты перечислил, это все или эмуляции или интерфейсы к скедьюлеру операционной системы, которые можно сделать в любом языке, и на ноде в том числе
источник

Ц

Це тільки in NodeUA - JavaScript and Node.js in Ukraine
Ще як варіант можна зробити якийсь додатковий ендпоінт саме для кронджоби яка буде до нього стукатися і робити все що потрібно
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Нужно делать средствами ОС, но если мы говорим про эмуляцию крона:
1. Если мы за микросекундами не следим, то можно таймаутами
2. Если мы следим за микросекундами, то worker_thread
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Це тільки
Ще як варіант можна зробити якийсь додатковий ендпоінт саме для кронджоби яка буде до нього стукатися і робити все що потрібно
Это хуже setTimeout
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Прекрасно используется, поверх него делается обертка, которая все согласовывает, а крон из ОС использует только как ранер
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Это мнение обосновать бы
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Но учитывая, что ты через child_process решил эмуляцию делать, что по скорости все равно, как взаимодействовать с крон ОС, то обоснования не последует.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Я про дочерний процесс вообще не понял пункт
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Для эмуляции крона нужно все те же ифы, ровно столько же, как и для обертки системного. Тут разница только в том, где запускается задание и на чем оно написано, гораздо удобнее внутри своего процессе делать поток и возвращать данные через MessagePort, трансферить объекты из одной области памяти в другую или через шареную память.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Ифы не нужно писать каждый раз в бизнес-логике, они пишутся в обертке 1 раз, без них вообще ничего сделать не удастся, если у тебя распределенная, мультитенантная система.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Это все про ноду и про практику.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Почитай что такое worker_thread.MessagePort и SharedArrayBuffer
источник

AO

Andrew Ostrovskii in NodeUA - JavaScript and Node.js in Ukraine
Не хочу влазить в ващ диалог, но просто интересна проблема со временем, о которой тут говориться. Я как-то работал в одной конторе, где хранили смещение зимнее/летнее время в процедурах в БД на сервере ( зачем это сделали, никто уже не знал ).

Так вот к чему это я, разве unix timestamp не решают проблему географии, смещения и вообще любых подобных проблем конвертации времени? Или я чего-то не понимаю?
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
нет не решает ) нашему заказчику нужно чтобы кроны работали в 9 часов утра по Сан-Франциско, это типа 16-00 по UTC зимой и 17:00 по UTC летом. Я руками меняла чтобы они запускались в 17-00 по UTC когда у них там часы перевели в начале марта. А осенью буду менять обратно (facepalm). Потому что по UTC (unix timestamp) ставится время крона. а заказчику нужно чтобы всегда было в 9 по их времени
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Но все это в любом случае нужно обрабатывать, хоть и автоматизировано. Ни на какой магии оно само не работает и будут ифы
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Хоть оборачивай крон ОС, хоть эмулируй. Без разницы. Разница в том, что иногда важно точно запустить, а иногда и 2 секунды не проблема
источник