2016-07-28 3 views
2

Для моего веб-приложения PHP Я использую PHP Buildpack. Теперь я хотел бы запланировать задачи, которые должны запускаться каждый месяц. Обычно для этого я использовал CronJob. Как я могу добиться этого в облаке приложений Swisscom?Расписание CronJobs с PHP Buildpack

+0

Мы используем наши Дженкинс, чтобы вызвать такую ​​задачу. – delixfe

+0

спасибо за ответ. У вас есть полезные ссылки? Я бы очень признателен. –

+0

Не совсем, написал немного больше в отдельном ответе. Надеюсь, поможет. – delixfe

ответ

0

Swisscom App Облако основано на Open Source Cloud Foundry

Upstream Cloud Foundry не имеет функцию, эквивалентную Cr (планировщик задача). Оставайтесь с нами, я думаю, эта функция скоро будет реализована, потому что многие люди переходят с Heroku на CF. Heroku предлагает функцию задания cron. Подпишитесь на новостной бюллетень Swisscom App Cloud, чтобы читать объявления.

Обходные решения для задач планирования см. В разделе Scheduling tasks on Cloud Foundry на blog.pivotal.io для примера на основе Ruby/Rake. Извините за PHP Я не нашел пример кода. Нет элегантного решения! Вам нужно реализовать какое-то обходное решение. Было бы здорово, если бы вы опубликовали свой код в GitHub.

Если вам нужны задания cron только в хранилище данных, например MariaDB предлагает Events.

События называются объекты базы данных, содержащие операторы SQL, которые должны быть выполнены на более поздней стадии, либо когда-то прочь, либо через регулярные промежутки времени .

Они работают очень точно так же, как планировщик заданий Windows или Unix cron jobs.

0

У нас была симулятивная проблема. Как написано @Fyodor, в Cloud Foundry нет собственного решения. Мы провели некоторые исследования и нашли таких поставщиков, как https://www.iron.io/.

Наконец, мы закончили с очень простым решением.

  • Мы предоставляем все наши фоновые задания через интерфейс https.
  • Как мы все-таки используем Jenkins для CI/CD, и у него много возможностей планирования, мы используем существующие Jenkins для запуска этих заданий с помощью простого вызова cURL на конечные точки HTTP.
+0

Спасибо! Я тоже пойду за этим решением. –