Чтобы сократить очень долгую историю, у нас была одна собственная серверная среда для клиентского проекта, но в конечном итоге было решено использовать стороннее решение для хостинга (Nexcess). До этого у нас был виртуальный сервер, использующий webmin в качестве интерфейса, и он работал на Ubuntu.
Идея заключалась в том, чтобы иметь несколько шаблонов в ExpressionEngine, которые содержали бы функции, которые будут запускаться так часто в час. Естественно, именно здесь Крон вступил в игру. Они работали безупречно в течение многих недель.
Во время миграции Nexcess пообещала перенести все на свои места (это было частью их обращения как к моей компании, так и к клиенту. Теоретически никакой дополнительной работы для нас обоих не было).
Эти функции больше не работают.
Оригиналы были утеряны и теперь заменены на них (которые я не делал, скорее всего это был Nexcess). Они не достигают шаблонов, и я знаю это, потому что могу посмотреть на счетчик посещений. Кроме того, ручной запуск каждого шаблона дает желаемый результат — так что сам код в порядке.
Команды Cron:
wget --user=cron --password='abc123'
-O - -t 5 https://example.com/site/shipping_process
wget --user=cron --password='abc123'
-O - -t 5 https://example.com/site/importwget --user=cron --password='abc123'
-O - -t 5 https://example.com/site/stockupdate
* Обратите внимание, что эти шаблоны защищены, поэтому для прямого доступа необходимо указать имя пользователя и пароль.
Любой ключ к тому, что задержка?
На webmin я мог на самом деле запускать тесты с Cron и видеть результат — нет такой удачи с Nexcess и ‘Siteworx’ (поскольку я в настоящее время могу предугадать).
Таким образом, проблема заключается в том, что хост-провайдер использует устаревшую версию Wget. Эта старая версия имеет особые проблемы с SSL, которые применимы в нашем случае. Они предлагают, чтобы мы перестроили утверждения, используя Curl.
Какими могут быть эквиваленты того, что мы имеем выше (я активно исследую это, когда спрашиваю об этом).
Соберите следующие пока, не повезло:
/usr/bin/curl -username cron:abc123 --silent https:example.com/site/stockupdate &>/dev/null
Догадаться.
/ usr / bin / curl –silent –output -u пользователь: пароль https://example.com/site/shipping_process
Других решений пока нет …