taskmaster

Скріншот програми:
taskmaster
Дані програми:
Версія: 0.8.1
Дата завантаження: 14 Apr 15
Розробник: David Cramer
Ліцензія: Безкоштовно
Популярність: 2

Rating: nan/5 (Total Votes: 0)

бригадир є простим роздільним чергу призначений для обробки великого числа разових завдань.
Ми побудували це на DISQUS звертатися часто, але незвичайні завдання, такі як "мігрувати ці дані в новій схемі".
Чому?
Ви можете запитати: "Чому б не використати селера?". Ну відповідь проста, що нормальна черги потрібно (не в буквальному сенсі, але це було б боляче без нього) ви в буфер всі завдання в центрі міста. Це стає проблемою, коли у вас є велика кількість завдань, особливо коли вони містять велику кількість даних.
Уявіть, що ви є 1000000000 завдань, кожна вагою в 5к. Ось стиснення, при мінімальних 4 терабайт дискового простору, необхідних хоча б зберегти те, що навколо, і отримує вас дуже мало.
Наглядач, з іншого боку призначений приймати поновлюване ітератора, і тільки тягнути в максимальній кількості робочих місць, у той час (з використанням стандартних Python черзі и). Це забезпечує послідовну картину пам'яті, яку можна масштабувати лінійно.
Використання
Створити итератор, і зворотний дзвінок:
імпорт гніздо
# Ми повинні забезпечити тайм-аут за замовчуванням ** не встановлений ** або випадковий лайно потрапить в вентилятор.
socket.setdefaulttimeout (None)
# Наглядач / example.py
Захист get_jobs (остання = 0):
І NBSP; # останній буде відправлено, якщо держава було відновлено
І NBSP; # від попереднього запуску
І NBSP; бо я в xrange (прізвище, 100000000):
І NBSP; # робочих місць дала повинні бути serializeable розсолом
І NBSP; вихід я
Def handle_job (я):
І NBSP; # це ** обов'язково ** ідемпотентна, як відновити процес може виконати роботу
І NBSP; #, який вже був запущений
І NBSP; друк "Got% R!" % Я
Spawn майстер:
І NBSP; TM-майстер taskmaster.example
Spawn раба:
І NBSP; TM-ведений taskmaster.example
Або ікру 8 рабів (кожен з яких містить ThreadPool):
І NBSP; TM-ікру taskmaster.example 8
Не люблю чарівний функції відкрити для майстер / раба? Вкажіть свої власні цілі:
І NBSP; TM-майстер taskmaster.example: get_jobs $ TM-ведений taskmaster.example: handle_job

Примітка:
Усі аргументи є необов'язковими, і за замовчуванням буде локальний, без ключа Ідент

Вимоги :.

  • Python

Інші програми розробника David Cramer

nexus-memcache
nexus-memcache

15 Apr 15

Sentry
Sentry

20 Feb 15

django-uuidfield
django-uuidfield

20 Feb 15

php-httplib
php-httplib

5 Jun 15

taskmaster

Коментар не знайдено
додати коментар
Включіть картинки!