gototop
Без флеша

КУРС: Flute

Snake charmer. Wikipedia. Public domain image.

Когда мы придумывали название для этого компонента, у нас возник образ заклинателя, который при помощи своей дудочки делает со змеями, что захочет. В некотором роде флейта является такой дудочкой, поскольку управляет мультизадачным выполнением скриптов, написанных на языке программирования «питон».

Для выполнения длительных задач, сопряжённых с обработкой больших массивов данных требуется асинхронный запуск скриптов, т. е. запуск скриптов в параллельном потоке выполнения, независимом от основного процесса работы бизнес-приложения. Кросс-платформенная система Flute решает данную задачу и представляет собой серверное приложение, запускаемое на системах Windows или Linux из командной строки или в виде системного сервиса.

Flute предназначен для управления фоновым запуском в нескольких параллельно выполняемых  процессах скриптов, написанных на языке Python, предназначенных для выполнения широкого спектра действий: формирования отчётов, выполнения расчётов/модификкации базы данных, регламентной обработки данных т. п.

Скрипты на языке Python хранятся в виде обычных текстовых файлов, модифицируются под нужды каждого отдельного проекта/заказчика и, при необходимости, могут быть пошагово отлаживаемы с помощью системы Eclipse.

Помимо стандартной библиотеки языка Python, скриптам, выполняемым во Flute, доступны также дополнительные классы, предназначенные специально для вывода отчётов в форматах XLS/XLSX (MS Office). Для формирования отчётов система Flute не требует установки MS Office на сервере, используя Java-библиотеки формирования документов MS Office «напрямую».

По мере поступления заданий на выполнение, система запускает каждое из них в отдельном параллельном потоке выполнения, отслеживая, чтобы максимальное число выполняемых потоков не превышало ограничения. Это ограничение определяется настройкой и в общем случае должно соответствовать количеству процессорных ядер, доступных системе.