Подходящий язык для крона Jobs?

Я понимаю, что это может зависеть от определенных вещей (и очевидно как эффективный код написан); но, в целом, что наиболее подходит и возможно эффективный язык для использования в записи заданий крона?

Это просто сводится к вопросу того, каков самый эффективный период языка, или может специфика заданий крона определять один язык программирования по другому?

Кроме того, операции базы данных MySQL влияет на предпочтительный язык программирования для заданий крона?

5
задан Kev 15 September 2011 в 13:07
поделиться

4 ответа

Можно использовать любой язык (в случае MySQL, любой язык с библиотеками mySQL), если он имеет:

  1. Интерфейс командной строки. Не уверен, какие языки не соответствуют действительности - очевидно, что даже LOGO теперь имеет реализации с поддержкой интерфейса командной строки, хотя то, как использовать LOGO в фоновой программе, несколько вне меня:)

  2. Результирующий код работает в любой системе, в которой работает ваш демон cron (чаще всего это сервер Unix , но я предполагаю, что есть порты cron для Windows и т.д.)

Любые другие соображения не имеют ничего общего с заданиями cron.

С точки зрения эффективности, она полностью зависит от того, какая работа выполняется заданием (но опять же, это не совсем связано с хронированием задания).

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

Для кода, чувствительного к производительности, обычно выбирают C ++ и / или Assembly для действительно оптимизированного материала, но, честно говоря, вся дискуссия о производительности полностью выходит за рамки вашего вопроса, и я уверен, что у вас есть много вопросов с точными ответами. на StackOverflow в другом месте.

4
ответ дан 14 December 2019 в 19:10
поделиться

Поскольку ваш код работает без присмотра в нечетные часы, вам нужен язык с хорошей обработкой ошибок и отчетностью. А именно, он должен выводить трассировку при сбое.

1
ответ дан 14 December 2019 в 19:10
поделиться

Большинство задач cron, с которыми я сталкивался, выполнялись на bash (или на языке сценариев системной оболочки.) Однако, если производительность критична, я пишу приложение на C ++, чтобы делать то, что я хочу (хотя действительно не так много случаев, когда bash-скрипта было недостаточно).

Я также видел некоторые сценарии PHP, вызываемые из cronjob - у нас есть стороннее приложение PHP, связанное с которым cron.php запускается каждый час.

Практически все, что можно запустить из командной строки, можно запустить из cron, поэтому вы можете получить доступ к инструментам командной строки MySQL из bash, как если бы вы делали это вручную из оболочки. Если приложение / скрипт PHP написано так, что оно не зависит от веб-сервера (приложения, основанные на модели MVC, являются хорошим кандидатом), его также можно вызвать с помощью php -f из работа cron.

0
ответ дан 14 December 2019 в 19:10
поделиться
  • Bash: вездесущ, прост, отлично справляется с операциями работы с файлами, может оказаться сложным для выполнения операций с MySQL.

  • Perl: вездесущ, хорошо известен бородатым сисадминам Unix, невероятно большой репозиторий библиотек. Может быть немного трудно поддерживать, если вы не следите за стилем вашего кода.

  • Python: повсеместно распространен, но может быть более старых версий (любой Python 2.3+ хорош, и вы вряд ли найдете более старые версии в природе), отличные библиотеки, простота использования, удобство сопровождения кода из-за более строгого синтаксиса, чем у perl. Может быть, немного сложнее найти людей, которые уже знают этот язык, но освоить его не так уж сложно.

И Perl, и Python имеют обширные проверенные временем привязки для MySQL и входят в стандартную поставку, как и bash, почти во все ОС, производные от Unix.

0
ответ дан 14 December 2019 в 19:10
поделиться
Другие вопросы по тегам:

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