У мене є рельси додаток розгорнуто на декількох примірниках і було занадто багато завдань рейк для запуску над різними екземплярами, так що важко управляти, які завдання рейк вже запущений або який залишився.
чи є спосіб керувати нею з боку db, як schema_migrations
таблицю, керовану міграціями. якщо так, то я хочу знати, як саме міграції працюють ?.
будь-які пропозиції?.
Відповіді:
2 для відповіді № 1- Правильний спосіб: використовуйте автоматизацію розгортання. Capistrano є гарним вибором. Тоді вам ніколи не доведеться турбуватися про такі речі, як робоче завдання
- Я думаю, що завдання рейків не повинні мати побічних ефектів, якщо ви виконуєте його кілька разів. Якщо завдання виконане таким чином, то немає необхідності турбуватися про те, що було зроблено, а яке ні.
- Я думаю, якщо ви хочете отримати статус відстеженняЗавдання Rake, простий спосіб полягає в тому, щоб реалізувати модель для запису стану виконання рейка завдання, і оновлювати модель кожного разу, коли виконується завдання граблі.
0 для відповіді № 2
Можна скористатися планувальником resque-планування (https://github.com/resque/resque-scheduler) для керування та відстеження завдань.
0 для відповіді № 3
Ви можете використовувати Індикатор виконання дорогоцінний камінь, щоб відстежувати хід виконання певного завдання.
І відповідно до наведеної вище пропозиції, автоматичне розгортання наскрізь капістрано це хороший варіант. Ви можете керувати послідовністю виконуваних завдань, що виконуються, у скрипті cap.