Я не знаю про "кращу практику". Я знаю найпоширеніші помилки.
Перша помилка: DOS Yourself
Ви використовуєте веб-обробник для обробки тривалої роботи. Це може бути погано або вкрай погано залежно від вашого відсотка звернень, які стають тривалими робочими завданнями, від того, як довго вони працюють і скільки стійкого трафіку ви отримуєте.
Ви хочете переконатися, що ви не отримаєте більше ніж одну тривалу роботу протягом періоду часу, необхідного для завершення цієї тривалої роботи. Якщо ви самі робите DOS. Це також буде погіршуватися тим більше трафіку, який ви отримуєте, припускаючи відсоток і час залишається послідовним. Це одна з тих проблем, яка самостійно накладає обмеження на зростання трафіку.
Друга помилка: Нерест у веб-обробника
Нерест процесу з веб-обробника для обробки тривалого запущеного процесу може бути складним, і як результат також схильним до помилок.
- Ви повинні правильно відмежуватися від батьків, інакше веб-обробник чекає, коли дитина завершиться.
- Коли ви роздвоюєте дитину в unix, вона успадковує відкриті ручки від батька. Вони автоматично закриються, якщо їх не перезаписати. Сюди входять такі речі, як підключення до бази даних, файлові файли та інші відкриті мережеві з'єднання. Усі вони закриваються, коли процес дитини закінчується.
Параметри
Зазвичай я використовую at(1)
для чистого відмежування від веб-обробника без розгортання.
Ви також можете використовувати реалізацію опитування за допомогою cron
.
Ви можете спілкуватися з іншим сервером, який обробляє обробку. Це повідомлення може бути зроблено з sockets
, pipes
або більш високим рівнем абстракцій , як HTTP - виклик REST або маршрутизації повідомлення черзі.