169 похожих чатов

Всем привет, нужна ваша помощь. Есть продукт, простая система управления сайтом,

она работает на 100 сайтах и регулярно сделает обновления. Необходимо реализовать возможность это обновление накатывать со стороны хоязина сайта.

Как это реализовано сейчас.

1. Имеется сайт системы, на ней есть URL по которому система возвращает имя файла и его md5
2. Спарсив результаты обращения к этому URL система сравнивает md5 с файлами которые есть у нее на самом сайте. Те md5 которые не сошлись - подлежат обновлнию
3. Имеется скрипт, которому скармилвается имя файла, он возвращает содержимое этого файла, скрипт парсит и записывает в одноименный файл на своей сервере.

Так это работает сейчас. Внимание вопрос. Нормальное ли это решение? Может есть какие-то иные способы. Может вообще не стоит это делать так и пробовать крутить каким то образом репозиторий.

ПыСы. Сайт живут на обычном хостинге, доступа к терминалу на них нет и у клиента нет таких знаний. Максимум что он может, нажать кнопку "обновить"

Заранее спасибо за ваши мысли

3 ответов

55 просмотров

не лучшее решение, которое может привести к неконсистентному состоянию (и почти всегда формально приводит, но видимо ненадолго). но оно нормальное, если это не происходит, или происходит редко, или частенько но ущерб от пролежки небольшой, или линейная комбинация перечисленного.

Артемий-Аверин Автор вопроса
Alexey Rybak
не лучшее решение, которое может привести к неконс...

Загуглил неконсистентность. Получил ответ несогласованность. Может чуть подробнее что имеете ввиду?

Ха прикольно, можно софт проверять если есть база

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта