Grails обрабатывает дамп FTP - PullRequest
0 голосов
/ 15 июня 2011

У меня есть сайт, на котором пользователи загружают файлы с формой, и он публикует сообщения, и это здорово, но один клиент настаивает на использовании FTP вместо этого. Я определил три варианта для обработки этого, и мне было интересно, есть ли у кого-нибудь понимание того, что лучше (или есть ли другое переполнение, о котором я должен спрашивать), или есть ли четвертый лучший вариант.

Решение 1. Изучите Linux. Возможно, я мог бы написать задание cron, которое просматривает каталог, в который они загружаются каждые 5 минут, и затем публиковать найденные файлы на моем сайте.

Решение 2. Создайте службу, управляемую таймером, в Grails, которая просматривает каталог каждые 5 минут. Это то, что я собираюсь начать пытаться.

Решение 3: Это было бы сложно, но я уверен, что возможно , если бы grails выдавали себя за FTP-сервер, позволяющий дампу ftp походить на пост Я понятия не имею, где начать это решение, поэтому, если нет плагина, этого не происходит.

Ответы [ 3 ]

3 голосов
/ 15 июня 2011

Вы можете использовать плагин Grails Quartz для планирования задачи, если вы хотите использовать второй вариант в вашем списке.

2 голосов
/ 15 июня 2011

Я бы выбрал вариант 2 и использовал плагин Quartz, как предложено (вместо cron).Обработка файлов в Groovy проста, и у вас есть много примеров, таких как this от mrhaki.

Если вы считаете, что обработка файлов будет иметь более сложные требования, вы можете попробовать что-то вроде Apache Camelс это пример из того же мхаки.Хотя я полагаю, что у Spring есть своя собственная структура, которая может лучше подходить, вам придется исследовать это самостоятельно, если вы пойдете по этому пути.

0 голосов
/ 15 июня 2011

Grails - это веб-фреймворк, поэтому варианты 2 и 3 не идеальны.Если наличие файла ftped, немедленно доступного в вашем приложении, вариант 1, я думаю, является самым быстрым и простым решением 3.

Другой вариант - найти FTP-сервер с открытым исходным кодом (их несколько) и изменить его.импортировать документ в вашу систему напрямую.Это позволит вашему клиенту использовать протокол, который они предпочитают (FTP), и все же получать файл в ваше приложение в режиме реального времени.

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

...