Настройка системы Flute

Материал из Course Orchestra
Перейти к: навигация, поиск

Настройка системы

Настройки системы flute находятся в файле flute.xml, расположенном в одной директории с flute.jar. Данный файл модифицируется пользователем для того, чтобы сделать систему работоспособной.

Данный файл должен соответствовать XSD-схеме, опубликованной по адресу http://corchestra.ru/schema/fluteconfig.xsd, что позволяет использовать Code Completion при изменении в XML-редакторе.

Пример настроечного файла:

<?xml version="1.0" encoding="utf-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="https://corchestra.ru/static/schema/fluteconfig.xsd">

	<dbconnstring>jdbc:postgresql://127.0.0.1:5432/celesta</dbconnstring>
	<dbuser>postgres</dbuser>
	<dbpassword>123</dbpassword>
	<redishost>localhost</redishost>
	<redisport>6379</redisport>
	<neverstop>false</neverstop>
	<retrywait>50000</retrywait>
	<scorepath>D:/score</scorepath>
	<pylibpath>D:/jython2.7.0/Lib</pylibpath>
	<restport>8080</restport>
	<celestaproperties foo="bar" foo2="bar2" />

	<dbtable>
		<tablename>flute.tasks</tablename>
		<pollingperiod>6000</pollingperiod>
		<terminationtimeout>10000</terminationtimeout>
		<maxthreads>4</maxthreads>
	</dbtable>
	
	<redisqueue>
		<queuename>q1</queuename>
	</redisqueue>

	<redisqueue>
		<queuename>q2</queuename>
	</redisqueue>

	<scheduledtask>
		<schedule>5 * * * *</schedule>
		<script>foo.module.script</script>
		<params>234</params>
	</scheduledtask>

	<looptask>
		<script>foo.hello.run</script>
		<waitonsuccess>1000</waitonsuccess>
		<waitonfailure>30000</waitonfailure>
	</looptask>
</config>

Настроечный файл состоит из общих настроек системы (тэги dbconnstring и т. п.) и настроек источников задач (тэги dbtable, redisqueue, scheduledtask, looptask). В зависимости от необходимости, любой из тэгов источников задач может повторяться любое количество раз или не использоваться вовсе.

Общие настройки

  1. Параметры Flute:
    1. neverstop (необязательный, по умолчанию true) — снова возобновлять работу при возникновении ошибок (необработанных исключений).
    2. retrywait (необязательный, по умолчанию 60000) — время ожидания после возникновения ошибки в миллисекундах. Настройка этого параметра важна для отработки ситуации потери связи с базой данных.
    3. fluteuserid (необязательный, по умолчанию flute) — пользователь Celesta, от имени которого выполняются задачи.
  2. Параметры Celesta (обязательные, описание соответствий см. в разделе Базовая настройка Celesta):
    1. dbconnstring = rdbms.connection.url
    2. dbuser = rdbms.connection.username
    3. dbpassword = rdbms.connection.password
    4. scorepath = score.path
    5. pylibpath = pylib.path
    6. skipdbupdate = skip.dbupdate
  3. Параметры настройки Redis (необязательные, если вы не используете Redis):
    1. redishost — хост для подключения к Redis
    2. redisport — порт для подключения к Redis
    3. redispassword (необязательный) — пароль подключения к Redis (следует отметить, что в документации Redis не рекомендуется использовать ограничение подключения по паролю)
    4. exposeredis (true|false, по умолчанию false) — если true, то Celesta-скриптам становится доступно подключение к Redis из пула через метод flute.getJedis()
  4. Параметры источников задач описаны в разделе Настройка источников задач.
  5. Параметры настройки REST-сервиса (необязательные, если вы не используете REST):
    1. restport — порт, на котором будет выполняться rest-сервис
    2. resthost (по умолнчанию 0.0.0.1) — адрес, к которому привязан rest-сервис. Установите в 127.0.0.1, если запускаете систему за reverse proxy и не желаете, чтобы система принимала запросы извне.