@thechemis

Как сделать круглосуточный сервис для загрузки файлов?

Доброе утро всем!
Предыстория: есть некий магазин (e2е4), у них на сайте можно скачать свежий прайс-лист (видимо создается при нажатии по "скачать", ибо проходит примерно 5-10 секунд до начала скачивания). Цены меняются по несколько раз в день, во сколько именно я не знаю)))
Задача: сделать сервис или программу, которая будет каждый час качать файл с ценами, и необходимым образом обрабатывать его. Сейчас это программа, написанная на C#, которая делает все отлично. Но необходимо, чтобы она работала круглые сутки (ну очень я люблю смотреть за динамикой цен).
Есть какие-либо веб ресурсы, чтобы можно было там реализовать подобное, или хотя бы чтобы просто там проходила ежечасовая загрузка файла, а уже обработкой займется моя программа (когда ее откроешь, она подгрузит недостающие файлы). Выделенный сервер не предлагать (дорого)!!!
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 4
Rou1997
@Rou1997
Напишите ПО не для Windows, а для Android, Arduino, Raspberry PI и т.п., соответствующее "железо" достаточно дешево, чтобы купить еще один компьютер такой платформы, и вот он будет работать круглосуточно.
Либо арендуйте VPS, на котором и запустить программу, это может быть полноценный Windows с удаленным рабочим столом, обеспечивающем быстродействие и удобство на уровне обычного ПК с Windows, но придется оплачивать.
Есть еще разные "идеи", например попробовать обычный бесплатный хостинг, где применить CRON если получится, а если нет, то создать не один, а два скрипта, которые будут делать запросы друг к другу, тем самым "обходить" тайм-аут на время выполнения, установленный на сервере. :) Но это уже не гарантировано, и не очень удобно.
Ответ написан
Комментировать
@nirvimel
1. Простой скрипт на самом дешевом VPS делает wget или curl этого прайса по cron и складывает под разными именами (с отметкой времени) в отдельный каталог.
2. Скрипт на локалхосте подключается к VPS по SCP/SFTP, забирает все скопившиеся там прайсы, парсит их по одному и складывает результат в БД.
Ответ написан
Комментировать
petermzg
@petermzg
Самый лучший программист
Вариант 1:
1. Перепишите вашу программу на python
2. Залейте ее на дешевый VPS
3. Настройте cron для запуска каждый час.

Вариант 2:
1. Переписываете ваше приложение в Web Service для Azure (остается на C#)
2. Заливаете на Azure (примерно 1 тыс. в месяц)
Ответ написан
Комментировать
В простом случае - я бы сделал обёртку над wget/curl на bash. И дёргал её из cron.
В более сложном - выделил бы загрузку в консольное приложение и проверил, работает ли оно под mono.
Если нет - переписал на python.

Но думаю, 2 последних варианта врядли оправданы.

И запустил на каком-либо VPS или, при наличии - raspberry pi или другом одноплатнике.

з.ы. ну и да - ещё возможно залил бы в azure
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы