170 похожих чатов

Привет ребята! хочу каждый день атоматически отправлять всем пользователям приложения

письмо на почту, делаю это первый раз но хочу чтобы все работало хорошо, особенно когда будет много пользователей.

Что я сделал:
1. Создал команду, запуск которой берет всех пользовтелей, потом в масиве получает значеня нескольких полей каждого пользователя и отправляет ему письмо (и так каждая итерация foreach отправляет письмо пользователю)
2. Потом нужно с помощью CRON запускать эту команду на сервере, верно?

Вопрос в том правильно ли я делаю это
Думаю что то нужно добавить в этот список или изменить его, например меня волнует отправка писем в цикле - если будет много пользователей не поломаеться ли оно?

Ребята, и с имейлами и с CRON работал мало или вообще не работал поэтому хочу спросить совета чтобы тогда не переделывать полностю все и чтобы потом на live сервере не было глюков с этим

Спасибо!

1 ответов

14 просмотров

Если пользователей много, можно брать чанками по N штук и смещаться по листу с оффсетом k*N. Саму отправку письма сделать джобой асинхронно через очередь. Тогда разгребание очереди можно регулировать количеством воркеров. Это если на коленке самым простым способом

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта