Скрипт, который будет выходить каждые 5 минут, а затем обновляться там, где остановился. - PullRequest
1 голос
/ 26 ноября 2009

У меня вопрос по UNIX ... У меня есть PHP-скрипт, который я запускаю в терминале, который анализирует кучу изображений и помещает их в базу данных. Этот сценарий уже написан

Из-за ограничений на мой хостинг (Bluehost) я не могу запустить процесс более чем на 5 минут. Мне интересно, как настроить его так, чтобы я выходил из сценария каждые 5 минут, затем, возможно, немного поспал, а затем снова открылся там, где остановился.

Я планировал использовать cronjob для повторного запуска команды, но как мне возобновить с того места, где я остановился?

Спасибо, Мэтт Мюллер

Ответы [ 4 ]

3 голосов
/ 26 ноября 2009

Некоторые способы, которые я вижу, чтобы сделать это (это сразу приходит на ум - вполне могут быть и другие):

  1. По мере добавления изображений в базу данных перемещайте их в другое место на диске. Тогда ваш скрипт не увидит их при следующем запуске.

  2. По мере добавления изображений в базу данных переименовывайте их с xx.jpg на xx.jpg-processed (например). Затем пусть ваш скрипт игнорирует обработанные.

  3. Вести список файлов, которые вы уже обработали, и не обрабатывать их.

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

1 голос
/ 26 ноября 2009

Вы можете иметь таблицу в базе данных или внешний файл, который сообщит вам, где вы остановились.

0 голосов
/ 26 ноября 2009

Попробуйте CryoPID .

CryoPID позволяет вам фиксировать состояние запущенного процесса в Linux и сохранять его в файл. Затем этот файл можно использовать для возобновления процесса позднее, либо после перезагрузки, либо даже на другом компьютере.

0 голосов
/ 26 ноября 2009

Сменить хостинг провайдера ....

Напишите сценарий для выгрузки всех имен файлов изображений в текстовый файл. Установите скрипт для чтения текстового файла и удаляйте имя файла из текстового файла каждый раз, когда вы заканчиваете обработку этого изображения. Каждый раз, когда процесс завершается, его можно безопасно перезапустить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...