Какое бы «real-time» решение ни было, оно всегда квантизируется по времени: минимальный шаг минута, секунда или одна миллиардная для гигагерцового процессора. И в любом случае работает модель событий или состояний, на том или ином уровне: приложения, ос, процессора.
У вас не аудио-поток генерируется, так что можно и не 96тыс раз в секунду обновляться. Повышать частоту как позволяют ресурсы. И раз в цикл обновлять состояние всей системы.
Чтобы облегчить систему от избыточного повторения действий, стоит где-то под рукой держать состояния её отдельных частей: будь то представление каждого из объявлений, текущее состояние счёта. Те могут обновляться своими «часами», может, реже, может, чаще.
Надёжность, ресурсы — отдельный вопрос. То ли у вас несколько серверов занимается одной задачей, то ли там отдельные процессы-рабочие запускаются в рамках одного сервера. Подробнее уже нет смысла влезать без детализации задачи.
В таком случае надо искуственно создать такие события.
На крон ложится доп. задача читать расписание юзеров, и запускать события, когда у тех наступает «пуск» или «стоп».
Спасибо за ответ. Дело, оказалось, в том, что я не пересобирал конфиг exim'а, и все мои гениальные нововведения просто пылились в стороне. Заработало в том же виде, как описал в приведённых конфигах.
Вы спрашиваете про приложение для Android — видимо, пользователь его будет использовать со своего телефона. И тут же его Тень отправится в VK отключать доступ этому приложению?
У меня ситуация с отказом жетона возможна, т.к. жетон сохраняется и на сервере, чтобы выполнять за пользователя некоторые действия, когда того нет онлайн. Вызов API вернёт ошибку, которую надо обрабатывать: генерится письмо пользователю, «не удалось сделать то-то, потому, что жетон более не дейстивтелен. Если хотите, чтобы было — повторите авторизацию так-то», например.
Проверил подвисшее письмо из очереди: exim -d -M
Похоже, что оно даже не добирается до моего роутера и ещё раньше становится «для внешней отправки». Проходит hubbed_hosts router, dnslookup_relay_to_domains router и dnslookup router — на этом всё. До моего catch_all похоже, не добирается.
Не вступили в силу обновлённые конфиги? Сервис перезапускал. Как проверить действующий конфиг? Исправлял/добавлял среди сотен файлов в /etc/exim4/conf.d/, потом sudo service exim4 restart
Сергей Соколов
@sergiks Автор вопроса, куратор тега Алгоритмы
Модель событий в ActionScript 3 используется вовсю, насквозь. Почти все объекты — наследники класса EventDispatcher. Для элементов интерфейса, и для сетевых соединений именно через события узнаёшь об их прогрессе или окончании. Вся асинхронная логика и строится на том, что вешаются слушатели событий, и назначаются Callback-функции.
Сергей Соколов
@sergiks Автор вопроса, куратор тега Алгоритмы
Хочу как раз буйство фантазии направить в русло, возможно, существующих лучших практик.
Пишу это дело на ActionScript 3, всё завёрнуто в классы, есть Синглтон приложения, в котором вот и можно хранить все объекты/переменный состояний. Каждый внешний запрос запускается отдельным тредом с коллбэком. Просто уже появились последовательные цепочки коллбэков, и, чувствую, разрастается это в грибницу, в которой скоро самому будет сложно разобраться — не то, что другим девелоперам.
Сергей Соколов
@sergiks Автор вопроса, куратор тега Алгоритмы
Разумно. Теперь расширим это до среднего приложения, и получим раздутое это «где-то хранилище». Просто чую, что это как Императивное программирование, против Объектного. Работать будет (и работает, ну, почти), но в поддержке и понимании другими девелоперами сложно неоптимально.
Отсюда и вопрос: «как правильно?»
Так это частный вопрос по программированию — на чем вы пишете, что возвращает ваша пипетка. В Processing (и соотв. Java) есть такой тип данных color который возвращается в частности его «пипеткой». Это 32-битное число AAAAAAAARRRRRRRRGGGGGGGGBBBBBBBB: по 8 бит: прозрачность, красный канал, зеленый канал и синий. Битовым сдвигом можно получить напр 8 бит только зеленого канала, т.е. значение от 0 до 255.
Так что ваша пипетка возвращает?
rodionov Только мельком пока просмотрел их доки. «По ряду платежных систем возможно выставление счета через систему ДеньгиOnline без перенаправления пользователя...: QIWI Кошелек, Мобильные платежи (Билайн, мегаФон, МТС), платежная система «Рапида», оплата через кассира «Евросеть», терминальная сеть «ЭлексНет».»
Оплата по картам — через iframe. Похоже, что оному можно дать целиком свой дизайн.
Сергей Соколов
@sergiks Автор вопроса, куратор тега Алгоритмы
Это похоже на Конечный Автомат, не так ли? Держать такой объект, имеющий много свойств, отслеживающий каждую мелочь в системе, и на него завязать асинхронные действия: пришёл ответ оттуда, пришёл запрос отсюда.
Для фото со стены пользователя всё норм. — возвращает инфу.
Меняю только парам. photos= и получаю Error 200.