Для оперативной связи с программой, запущенной на суперкомпьютере (сообщение о запуске или завершении, отладочные сообщения), можно использовать telegram.
Данная инструкция описывает создание минимального telegram-бота, который умеет отправлять сообщения хозяину.
Для регистрации бота нужно начать чат с отцом ботов https://t.me/BotFather отправив в чат команду /start
Далее выбираем из меню или пишем в чат команду /newbot
в ответ будет предложено ввести имя, под которым бот будет виден у вас в списке пользователей (не обязательно уникальное), и идентификатор, уникальный в рамках всего телеграма и заканчивающийся на _bot.
Если идентификатор отвечает этому требованию, то в ответ BotFather пришлет сообщение, содержащее ссылку на бота и token для доступа к API.
Что бы у бота появилась возможность писать вам, вы должны перейти на страничку бота и нажать кнопку "Запустить" (Start)
Что бы писать себе сообщения нужно знать свой уникальный идентификатор, это можно сделать запустив бота https://t.me/getmyid_bot
Для запуска бота необходимо установить пакеты python3
pip install python-telegram-bot --upgrade --user
после чего можно скопировать пример бота в файл telegram_bot.py, подставив токен api_key и свой user_id. На файл необходимо дать право на выполнение chmod +x telegram_bot.py
#!/usr/bin/env python3.6
import telegram
import sys
api_key = "987654321:XyZwer45Un"
user_id = 1234567890
bot = telegram.Bot(token=api_key)
chunk = sys.stdin.read(4096)
while chunk:
bot.send_message(user_id, chunk)
chunk = sys.stdin.read(4096)
Отправка сообщения делается перенаправлением текста на стандартный ввод бота. Можно отправлять несколько строк, но не более 4096 символов за один раз. Более длинные сообщения разбиваются на части по границам кратным этой величине. В примере предполагается, что вы создали файл telegram_bot.py
в домашнем каталоге (~).
echo "Test message" | ~/telegram_bot.py
ls | ~/telegram_bot.py
sbatch -n1 -t1 --wrap \
"bash -c \
'echo Start |~/telegram_bot.py;\
my_prog| ~/telegram_bot.py;\
echo Stop |~/telegram_bot.py'"