Содержание
- Чат
- Подробности
- Сходства и различия с Telegram
- Особенности Tam Tam
- Скачивание мессенджера из App Store
- Edit message
- Роль в оркестре
- Функционал приложения
- Изобретение
- Как пользоваться?
- Загрузка и установка
- Как мы делали приложение быстрым
- Контакты
- Сложности, которые натолкнули на идеи
- Что такое ТамТам
- Офлайн и работа при плохом интернете
Чат
Разработчики утилиты почти не пытались изобрести что-то новое. В принципе, это сделать сегодня практически нереально.
При первом запуске софта пользователь познакомиться с полосой чата. Здесь он сможет писать там там сообщения, выражая тем самым все свои умные мысли. Еще имеется клавиша, позволяющая осуществлять отправку звуковой записи, а также присутствует кнопка для добавления смайликов и документов.
Однако в программе имеется отличительная черта, представляющая собой специальный ползунок. Он предназначен для выбора анимации из разных кинофильмов и мультфильмов. Чтобы активировать эту опцию нужно потянуть за ползунок.
Анимации также представляют собой уникальный элемент. Их применение во время общения понравится многим пользователям. Люди также смогут создавать групповые чаты и отправлять в ТамТам сообщения.
Подробности
Что же может предложить данное приложение для общения? Разработчики выделяют следующие преимущества:
- Широкая аудитория. Согласно официальным данным, число пользователей мессенджера превышает отметку в 250 миллионов человек.
- Все функции предоставляются без какой-либо платы, реклама тоже отсутствует. Это относится и к сообщениям, и даже к звонкам.
- Видеосвязь. Расстояние — не преграда для общения. Во время звонка можно использовать камеру устройства, чтобы видеть своего собеседника.
- Простота. Чтобы начать работать в TamTam Messenger, достаточно ввести свой мобильный номер или авторизоваться через ОК или почту Google. Никакой нудной регистрации не требуется.
- Мультиплатформенность. Разработчики выпустили приложение и для мобильных устройств, и для ПК, имеется даже веб-версия, которая не требует установки. Подробнее об этом изложено в разделе «Загрузка».
- Работа без интернета. Когда телефон не подключен к сотовой сети или Wi-Fi, все равно можно просматривать старые переписки или открывать загруженные медиа-файлы.
- Чаты. Доступны как публичные, так и приватные чаты.
- Каналы. Так называются группы по интересам, куда может вступить любой желающий.
- Стикеры. Анимированные «наклейки» удачно впишутся в любую дружескую беседу.
Сходства и различия с Telegram
Если говорить об интерфейсе, то в этом плане ТамТам во многом напоминает Телеграм, да и его функционал является если не прямой, то очень близкой копией проекта Павла Дурова.
К примеру, здесь также есть каналы, вот только ведутся они, исходя из количества подписчиков и регулярности постов, не слишком систематично.
Правда, здесь есть и преимущество, которое отличает мессенджер от Telegram – вы можете искать нужные каналы прямо по названию в самом приложении, что может быть очень удобно.
Интересно, что после регистрации в приложении вы автоматически станете подписчиком на новости ТамТама, и он будет регулярно пушить вам контент, схожий с тем, что вы часто встречаете в Одноклассниках в уведомлениях.
Стикеры в приложении тоже на месте, но и они имеют существенные различия с теми, что присутствуют в Телеграме.
По своей сути это просто gif-картинки, которые анимируются при отправке или нажатии на них. Поиск стикеров вы сможете проводить по ключевым словам, а вот самых популярных картинок из «Телеги» вы здесь не найдёте.
При этом в приложении много коротеньких вырезок из самых разных сериалов и фильмов, так что необходимый вам по смыслу вариант вы всё же обнаружите.
Примечательно, что в ТамТам разработчики встроили не только аудиозвонки, но и видеочат, что, в общем, тоже даёт Телеграму фору. И работает это на вполне приемлемом уровне, да и качество нормальное – интерфейс во многом напоминает известный нам WhatsApp.
Ещё один момент, касающийся шифрования. Признаюсь, мне так и не удалось окончательно докопаться до способа шифрования сообщений, поэтому здесь всё довольно-таки туманно. Неизвестно даже, шифруются ли они вообще.
Правда, на Хабрахабре можно найти пост одного из разработчиков ТамТама, где он рассказывает о том, что создатели старались сфокусироваться именно на оптимизации скорости работы даже в условиях плохой связи, но вот про шифрование там тоже ничего не говорится.
Особенности Tam Tam
Российский мессенджер создан на базе «ОК Сообщения» — это приложение популярной социальной сети «», которое было разработано за год до выхода нового софта от Mail.Ru Group
Данная утилита сразу же привлекла внимание большого количества пользователей. Тем более она была разработана с целью замены «ОК Сообщения», которое очень востребовано среди участников знаменитой соцсети
Их число составляет примерно 290 млн человек. Именно такое количество пользователей уже сразу перешло в приложение TamTam.
Новая программа для мобильных платформ позволяет людям общаться практически без ограничений, используя для этого следующие возможности софта:
- Отправка личных сообщений.
- Беседы в групповых чатах.
- Обмен стикерами.
- Отправка и получение gif-анимации.
- Обмен фотографиями.
- Передача друг другу небольших видеороликов.
- Отправка музыкальных файлов.
При этом пользователи смогут выполнять все вышеперечисленные действия, даже если устройство будет иметь не очень хорошее интернет-подключение. Кроме того, тамтам мессенджер позволяет отправлять сообщения другим абонентам при нахождении в оффлайн-режиме. Их доставка собеседнику осуществится в автоматическом режиме, когда девайс попадает в зону действия, например, Wi-Fi.
Еще одной особенностью нового мессенджера является наличие публичных каналов. Данная функция схожа с опцией Telegram. У каждого созданного канала, может быть, неограниченное количество подписчиков. При этом их вести могут не только пользователи, но и блогеры, средства массовой информации и бренды.
Представители Mail.Ru объяснили создание нового приложения тем, что у них возникло желание предоставить возможность людям использовать усовершенствованный продукт, разработанный на базе старой программы. При этом у корпорации появился шанс как сэкономить средства, так и сразу же получить приличное количество «живых» пользователей.
В связи с тем, что Там там мессенджер еще молодой софт. Поэтому его будущее на 100% неизвестно. Однако данная программа имеет хорошие перспективы. Если надежды на нее оправдаются, тогда существует большая вероятность, что уменьшится популярность такого известного мессенджера, как Viber. Данное мнение высказали некоторые эксперты в этой области. Они основывались на том, что Viber использует много пользователей, которые являются участниками социальной сети «ОК». Эксперты считают реальной возникновение ситуации, когда из Вибера может перейти в TamTam примерно 15% пользователей.
Скачивание мессенджера из App Store
Чтобы использовать новое приложение на «яблочном» девайсе необходимо знать, как подключить тамтам на телефон iOS. Этот процесс выполняется легко всего лишь за несколько кликов. При этом функционал программы для платформы iOS такой же, как и для Android.
Для установки мессенджера необходимо посетить App Store. В этом официальном магазине утилита доступна для пользователей бесплатно.
После запуска соответствующего приложения на устройстве нужно воспользоваться поисковой строкой, где вписывается название софта. На следующем этапе пользователю придется выбрать из списка нужный мессенджер. Это позволит открыть персональную страницу утилиты, где можно узнать всю важную информацию о текущей версии приложения и познакомиться с отзывами людей. Далее, владельцу девайса нужно нажать кнопку «Загрузить».
Все выполненные действия позволят использовать ТамТам, например, на iPhone для безграничного общения с разными абонентами, которые могут находиться в любом уголке мира. Таким же образом осуществляется загрузка мессенджера из Google Play. После установки программы на любой современный телефон пользователь обязательно оценит ее новые функции.
Выберите нужную операционную систему, чтобы перейти на более подробную информацию по скачиванию и установке TamTam Messenger:
Edit message
put /messages
https://botapi.tamtam.chat/messages
Updated message should be sent as in a request body. In case field is , the current message attachments won’t be changed. In case of sending an empty list in this field, all attachments will be deleted.
Request Body schema: application/json
text |
string <= 4000 characters Nullable Message text |
||||||||||||||||
attachments |
Array of objects (AttachmentRequest) Nullable Message attachments. See and it’s inheritors for full information |
||||||||||||||||
Array
|
|||||||||||||||||
link |
object Nullable Link to Message |
||||||||||||||||
|
|||||||||||||||||
notifyoptional |
boolean Default: true If false, chat participants would not be notified |
||||||||||||||||
formatoptional |
string Nullable Enum: «markdown» «html» If set, message text will be formated according to given markup |
Роль в оркестре
В большом оркестре роль большого гонга заключается в создании гнетущей атмосферы и усилении ритма. А в опере, его часто используют для отображения твердого характера сильной личности.
Малые гонги широко используются для музыкального сопровождения номеров и арий Пекинской оперы, для исполнения музыкальных драм в стиле пинцзюй, в Хэбэйской местной опере, хунаньской опере хуагуси, а также на эстраде для исполнения китайских народных танцев и песен.
В классической музыке гонг применяется с начала XIX века — одним из первых композиторов, использовавших его в своих произведениях, был Джакомо Мейербер. Удар гонга знаменует собой смерть, катастрофу, присутствие волшебных сил, проклятие, предзнаменование и другие «из ряда вон выходящие события». В «Руслане и Людмиле» Глинки гонг звучит в момент похищения Людмилы Черномором, в «Шехеразаде» Римского-Корсакова — в миг, когда корабль Синдбада разбивается о скалы. Звуки гонга можно услышать в финале Шестой симфонии Чайковского, третьей части поэмы «Колокола» С. Рахманинова («Набатный звон»), трагической кульминации первой части Седьмой симфонии Шостаковича и других сочинениях.
Функционал приложения
Главной особенностью мессенджера стали его приватные и публичные чаты, которые одновременно объединяют до 20 000 человек. Создатели бесед могут назначать до 50 кураторов, которые будут следить за порядком внутри группы и при необходимости отправлять буйных участников в чёрный список.
ТамТам — видеозвонки, чаты и каналы на Андроид
Любители пообщаться в массовых чатах по достоинству оценят функции пересылки сообщений и цитирование. Если беседа происходит между несколькими людьми, поддерживается система оповещений о прочтении сообщений. Добавить больше эмоций в любую переписку позволяют стикеры. Их дополняют каждый день, и они отличаются заданной тематикой:
- котики;
- сказочные персонажи;
- времена года;
- оригинальные наклейки, посвященные социальной сети Одноклассники.
Бывают они в виде классических наклеек и анимированных образов. Последние выглядят ещё интереснее и могут привлечь к себе больше внимания. Также не стоит переживать за защиту личных данных переписки. Все СМС шифруются при помощи протокола TLS, а вся полученная информация распределяется между сетью из нескольких десятков серверов. Доступ к переписке будет доступен только вам и сохранится в кэше мобильного устройства, для просмотра сообщений и вложенных файлов в режиме офлайн.
Если вы устали вести обмен сообщениями, вам всегда доступны голосовые и видео звонки в высоком качестве. Чтобы ими воспользоваться, достаточно подключиться к интернету через 3G, 4G или Wi-Fi. Прямой альтернативой звонкам служат голосовые сообщения, достаточно зажать отведенную для этого клавишу и изложить свои мысли.
Для тех, кто не в состоянии представить свою жизнь без новой информации, представлены публичный и приватные каналы. Они делятся на различные тематики и предлагают подписчикам свежие новости с уведомлениями о появлении новых публикаций. Создать канал может каждый пользователь приложения ТамТам и необязательно использовать его в качестве информационного паблика, он вполне сойдёт за отдельный чат для заметок, достаточно установить к нему закрытый доступ.
Приятным дополнением выступает кроссплатформенная основа сервиса, он доступен на всех самых популярных платформах:
- Android;
- iOS;
- Windows;
- Mac;
- Linux.
Если вы не желаете засорять память на ПК или хотите выйти в сеть с чужого устройства, то имеется веб-версия, доступная через любой браузер. Переход с одной версии на другую происходит молниеносно. Вместе с ним сохраняется история сообщений, отправленных файлов и GIF-анимаций.
Для регистрации на платформе необязательно быть участником социальной сети Одноклассники, достаточно указать номер мобильного или воспользоваться электронной почтой Gmail. Интерфейс программы поделен на начатые чаты, каналы и вспомогательные настройки. К слову, каждый профиль или канал имеет короткую ссылку, по которой его можно найти в глобальном поиске.
Изобретение
Согласно историческим данным, ударный музыкальный инструмент гонг был изобретён в районе проживания национальных меньшинств на юго-западе Китая на острове Ява. Со II века до н. э., благодаря укреплению этнических культурных контактов, медный гонг постепенно приобрёл популярность в масштабах всей страны. В те времена под звуки гонга полководец вёл свою армию сражаться с врагом. В древности гонг был преимущественно военным музыкальным инструментом.
Вследствие своего длительного развития, а также для удовлетворения разнообразных нужд в настоящее время существует более 30 разновидностей гонгов, среди которых наиболее популярны большой гонг и малый гонг.
Как пользоваться?
По отзывам мессенджер Там Там напоминает Телеграм – только адаптированный исключительно под русскоязычного пользователя. Некоторое время назад он «пришел на смену» заблокированному на территории страны Телеграму.
Давайте разберемся с доступными возможностями? Открываем программу и приступаем. На главном экране четыре иконки меню:
- Сообщения. Здесь отображаются текущие чаты, можно начать новый диалог;
- Звонки. Открывается журнал вызовов, можно сделать звонок;
- Контакты. Видна телефонная книга, можно искать новых друзей;
- Настройки. Выставляем параметры, персонализируем профиль.
Давайте попробуем начать чат в русском мессенджере ТамТам?
- Откройте раздел «Сообщения» и кликните на карандашик наверху;
- Выберите человека из списка контактов;
- Внизу можно вводить текст сообщения;
-
Кликните на смайлик, чтобы получить доступ к эмодзи и стикерпакам;
- Жмите на скрепку, чтобы добавить фото или видео, локацию или файл или сделать рисунок;
- Нажмите на микрофон, чтобы записать голосовое сообщение;
- Кликните по названию чата на верхней панели, чтобы просмотреть инфо о диалоге, запустить поиск по истории и просмотреть медиафайлы.
Загрузка и установка
Российский мессенджер Там Там доступен для скачивания абсолютно бесплатно – нужно просто выполнить ряд несложных действий. Приступим? Давайте загружать программу на мобильный – можно установить на Андроид и на Айфон.
- Откройте магазин программ Гугл Плей Маркет или App Store в зависимости от операционной системы;
- Введите название в строку поиска и запустите алгоритм;
- Найдите нужный результат в поисковой выдаче и кликните на кнопку загрузки;
- Дождитесь автоматической установки и нажмите на иконку, чтобы открыть приложение.
Первый этап завершен – но многое впереди, давайте пройдем регистрацию в мессенджере ТамТам. Пользователям доступны два варианта:
- Вход через телефон;
- Вход через аккаунт Гугл.
Если вы хотите зарегистрироваться с помощью номера телефона, нажимайте на соответствующую иконку и:
- Вводите действующий мобильный в специальное поле, затем жмите «Далее»;
- Подтвердите правильность введенного номера;
- Впишите проверочный код из поступившего СМС-сообщения;
- Укажите имя и загрузите фото, нажав на иконку фотоаппарата;
- Щелкайте «Готово». Получилось!
Если захотите войти с учеткой Гугл, придется ввести действующий адрес электронной почты, привязанный к аккаунту.
- Перейдите на вкладку «Скачать» на верхней панели;
- Откройте раздел «Компьютер», операционная система будет определена автоматически;
- Жмите на значок загрузки и ждите автоматической установки;
- После того, как файл будет перенесен на устройство, запустите его и следуйте инструкциям на экране.
При регистрации у пользователей несколько возможностей – можно авторизоваться:
- Через номер телефона;
- Через Одноклассники;
- Через учетную запись Гугла.
Мы установили приложение для телефона и мессенджер Там Там для компьютера – теперь нужно начинать им пользоваться! Ловите небольшой гайд по основным опциям, пройдемся по функционалу и начнем общаться.
Как мы делали приложение быстрым
Быстродействие с точки зрения пользователя — это в первую очередь скорость запуска. Время, которое проходит до отображения нового контента (например, при открытии чата с новым сообщением по push-уведомлению). Плавность работы в целом — в частности скролла. В iOS-команде мы стараемся тестировать и замерять быстродействие на iPhone 5 и iPhone 4S. Андроид-команда имеет в распоряжении Galaxy S3 и Мегафон логин за 1000 рублей. Как следствие, на более мощных девайсах приложение просто летает.
В каждой тестовой сборке можно включить счётчик кадров в секунду, а в логи и в систему статистики записывается длительность выполнения операций в узких местах.
Например, на этом графике показано время с момента запуска приложения при открытии по пушу до момента, когда пользователь увидит это конкретное сообщение на экране. Два падения на графике соответствуют включению контент-пушей на половину и на всех пользователей.
Несмотря на обилие инструментов и метрик, главным инструментом оценки быстродействия приложения остаются субъективные ощущения. Никто не может точно ответить, какая задержка в миллисекундах допустима при открытии экрана сообщения, но практически каждый может сказать, есть ли у него ощущение того, что приложение «тупит».
Как мы оптимизируем? В первую очередь выносим всё, что можно, из главного потока: работу с БД (об этом чуть ниже), работу с сетью, сериализацию и десериализацию данных, процессинг картинок и даже вычисления, связанные с вёрсткой текста.
Когда мы запускаем приложение или открываем экран чата, выполнение тяжелых операций в фоне не спасёт от видимой задержки. Так что одни операции вроде вёрстки бабблов всё равно нужно оптимизировать по времени, а другие лучше делать сразу при получении сообщения и кешировать результат их выполнения в базе.
При выборе сторонних решений и библиотек в узких местах мы тоже старались учитывать быстродействие и компактность. В частности, именно поэтому мы выбрали MessagePack (причём для iOS специально делали бенчмарк разных реализаций), поменяли библиотеку для маппинга данных в объекты с Mantle на YYModel и остановились на lz4 в качестве алгоритма компрессии трафика.
Кроме того, для достижения плавности работы интерфейса мы симптоматически оптимизируем рендеринг:
- избегаем offscreen-рендеринга, нагружающего процессор;
- заранее в фоне ресайзим картинки вместо использования работающих в главном потоке стандартных UIViewContentMode;
- делаем наши иерархии UI более «плоскими» и простыми;
- кешируем те объекты и данные, создание которых слишком затратно. Начиная с высоты ячеек с текстом и заканчивая YYTextLayout (объект, который хранит информацию об отображении текста в библиотеке YYText), NSAttributedStrings и даже самими UIViews.
Во всех списках идёт ручная вёрстка без auto layout. Хотя auto layout мы тоже очень любим и используем декларативную вёрстку с помощью Masonry в коде — но только там, где это целесообразно.
Контакты
Хотя приложение еще только набирает популярность, но его разработчик сделал все возможное, чтобы каждый человек мог общаться по максимуму.
Как уже упоминалось, в приложение сразу же интегрирована обширная база пользователей соцсети.
В настоящее время там там контакты подтягиваются из почты, социальной сети «ОК» и других ресурсов, созданных Mail.ru. Для многих пользователей такой вариант пополнения списка контактов может оказаться очень полезным.
Все зависит от деятельности конкретного человека в интернете. При этом пользователи в списке всегда будут видеть активные контакты ТамТам. Не исключено, что некоторые из аккаунтов будут постоянно «мертвы».
Сложности, которые натолкнули на идеи
Начнём со сложностей: именно они принесли нам идеи, которые потом реализовались в продукте и в итоге превратились в преимущества приложения. Речь прежде всего о быстрой и стабильной работе мессенджера.
Стартовая аудитория TamTam — из самых разных уголков мира, в том числе с нерегулярным покрытием мобильной сети (а иногда и с полным отсутствием стационарного интернета). В некоторых странах СНГ за пределами крупных городов 2G-соединение — вообще фактически единственное окно в интернет.
Важно было и то, что далеко не все потенциальные пользователи TamTam каждый год бегут покупать новый айфон или ГОРЯЧУЮ НОВИНКУ от Samsung. По статистике, самый популярный девайс под iOS у наших пользователей — iPhone 5s, а под Android — недорогие Galaxy выпуска 2014—2015 годов
При этом у TamTam достаточно молодая аудитория: 28 % дневной аудитории — это люди в возрасте 27—34 лет, а более половины пользователей (54 %) — младше 35 лет.
Поэтому одним из приоритетных направлений в разработке мессенджера для нас с самого начала была оптимизация приложения с точки зрения как быстродействия, так и работы с сетью. Словом, требовалось незаметно для пользователей сделать так, чтобы приложение работало при любом уровне подключения. И при любом росте аудитории тоже. TamTam в первые же месяцы показывает неплохие цифры: число установок уже приближается к 3 миллионам, а число каналов уже больше 50 000.
Что такое ТамТам
Проект ТамТам запущен в 2016 году как производный сервис социальной сети Одноклассники. Последний, как известно, принадлежит Mail.ru Group.
Интерфейс, в целом похож на интерфейс Телеграмм. Функционал, по сути, почти такой же. Хорошо скопировали…
Но есть и ряд преимуществ. Например, возможность совершать видеозвонки в формате HD. Причем при нестабильном интернет соединении, происходит автоматическое переключение в режим аудио вызова.
Для общения также создаются тематические каналы, в которых администраторы самостоятельно выбирают уровень приватности, публичности и т.д. На полною анонимность тут, конечно, рассчитывать не приходится, но в целом, к чему нам это? )
Имеется и декстопная версия, со встроенной возможностью просмотра роликов Ютуба и чатом для общения. Работает как на Windows, так и на Linux.
Офлайн и работа при плохом интернете
При работе с сетью мы стараемся минимизировать трафик и задержки за счёт выбора быстрого компактного протокола и агрессивного кеширования.
В качестве способа общения с сервером мы используем только TCP-сокеты и бинарный протокол. Это позволяет нам как получать обновления с сервера в реальном времени, так и работать в более привычном режиме «запрос — ответ».
Сам API, т. е. набор команд поверх низкоуровневого протокола, можно в будущем при желании реализовать поверх другого транспорта, например на веб-сокетах. При всём этом нам не придётся трогать верхнеуровневую логику работы приложения.
Сами пакеты состоят из заголовка фиксированной длины со служебной информацией: код команды, версия протокола, длина пэйлоада. Ответы на запросы могут приходить в разном порядке и вперемешку с командами сервера, поэтому в заголовке есть sequence number, позволяющий связать запрос и ответ.
В качестве формата для пэйлоада мы решили попробовать messagepack. Он не требует жёсткого задания схемы, очень компактный и имеет довольно шустрые библиотеки сериализации под множество платформ. По сути, это эффективный бинарный аналог JSON. Для того чтобы ещё более снизить потребление трафика, мы сжимаем пэйлоад алгоритмом lz4. Его мы также выбрали за скорость и небольшую нагрузку на CPU и батарейку.
Один из главных способов обеспечить нормальную работу приложения в условиях плохой сети — максимальная поддержка офлайн-режима. Приложение должно кешировать максимум данных, тратить меньше времени и трафика на синхронизацию и уметь откладывать отправку команд до появления соединения. Причём соединение может вернуться даже при следующем запуске приложения, т. е. все отложенные задачи по отправке надо уметь сохранять в БД.
После коннекта клиент аутентифицируется, одновременно запрашивая критически важные данные: настройки, список контактов и чатов с последними сообщениями. Мы храним таймстемп последнего обновления (в серверной системе отсчета времени) и передаём его в запросе, чтобы получить обратно только то, что действительно поменялось. После того как соединение установлено, мы можем получать обновления в реальном времени: например новые сообщения или изменения данных контактов.
С историей сообщений в чате всё чуть сложнее. Грузить заранее всю историю всех чатов бессмысленно, но что мы один раз получили — то мы кешируем и стараемся больше не запрашивать. Если посмотреть на то, какие участки истории чата закешированы, мы увидим, что в истории есть «разрывы». Например, с обновлением списка чатов после логина мы увидели, что последнее сообщение в чате изменилось. При этом у нас в БД есть участок (или несколько участков) истории чата, закешированный в ходе предыдущей сессии. Кроме того, мы не знаем, сколько сообщений есть на сервере между последним сообщением в чате и предыдущим закешированным сообщением, и это добавляет своих сложностей.
Поэтому, кроме самих сообщений, мы храним метаданные о непрерывных кусках истории — чанках, которые мы закешировали. При скролле чата мы используем эту информацию: она помогает нам определить, грузить следующую страницу из БД или отправлять запрос на сервер. А может быть, делать и то, и другое. При получении новых участков истории с сервера эти чанки меняют размер и сливаются друг с другом (в случае если клиент понимает, что только что полученный участок истории соединяет два разрозненных чанка, имеющихся в БД).
Поскольку многие операции можно выполнять в офлайне, мы разработали механизм сохранения задач. Он умеет запускать задачи, дожидаться их выполнения, сохранять их состояние в БД или загружать и запускать при старте приложения.
Задачи могут сохраняться в БД, они инкапсулируют в себя всю логику выполнения. Поскольку зависимости от других задач и от состояния приложения могут быть довольно сложными, то слежение за ними тоже реализовано в самих задачах. Например, задача отправки сообщения с фотографией должна убедиться в том, что фотография обработана, загружена на CDN (за это отвечают отдельные задачи), дождаться (при необходимости) сетевого подключения и только потом непосредственно попытаться отправить само сообщение.