Programming languages 适合cron作业的语言?

Programming languages 适合cron作业的语言?,programming-languages,cron,Programming Languages,Cron,我意识到它可能取决于某些事情(以及代码编写的效率);但是,一般来说,在编写cron作业时,最合适而且可能最有效的语言是什么 这仅仅是一个什么是最有效的语言周期的问题,还是cron作业的特殊性可以决定一种编程语言胜过另一种编程语言 此外,MySQL数据库操作是否会影响cron作业选择的编程语言?任何语言(对于MySQL,任何带有MySQL库的语言)都可以使用,只要它具有: 命令行界面。不确定哪种语言不合格-显然,即使LOGO现在也有支持CLI的实现,但我不知道LOGO在后台程序中有什么用途:) 生

我意识到它可能取决于某些事情(以及代码编写的效率);但是,一般来说,在编写cron作业时,最合适而且可能最有效的语言是什么

这仅仅是一个什么是最有效的语言周期的问题,还是cron作业的特殊性可以决定一种编程语言胜过另一种编程语言

此外,MySQL数据库操作是否会影响cron作业选择的编程语言?

任何语言(对于MySQL,任何带有MySQL库的语言)都可以使用,只要它具有:

  • 命令行界面。不确定哪种语言不合格-显然,即使LOGO现在也有支持CLI的实现,但我不知道LOGO在后台程序中有什么用途:)

  • 生成的代码运行在cron守护进程所在的任何系统上(通常是Unix服务器,但我假设有到Windows等的cron端口)

  • 任何其他考虑事项都与cron作业无关

    就效率而言,这完全取决于作业所做的工作(但再次强调,与作业的亲密无间)

    除了一些极端性能密集型的例外,请选择您可以使用的最佳语言(基于您对该语言的熟悉程度和所需库的可用性)


    对于性能敏感的代码,通常选择C++和/或汇编来进行真正优化的东西。但是老实说,整个性能讨论完全超出了您的问题范围,我确信在StAccOppSoad上有很多完全正确的问题。

    < P>我遇到的大多数Con Work都是在BASH中。(或者系统shell的脚本语言)但是如果性能很关键,我写一个C++应用程序来做我想做的事情(尽管BASH脚本还不够多)。 我还看到了一些从cronjob调用的PHP脚本——我们有一个第三方提供的PHP应用程序,它每小时运行一次相关的cron.PHP

    几乎任何可以从shell提示符运行的东西都可以从cron运行,因此您可以从bash中访问MySQL命令行工具,就像您在shell中手动操作一样。如果编写了PHP应用程序/脚本,因此它不依赖于Web服务器(基于MVC模型的应用程序是一个不错的选择)也可以使用cron作业中的
    php-f
    调用它。

    • Bash:无处不在,简单,擅长文件处理操作,可能很难执行MySQL操作

    • Perl:无处不在,被Unix系统管理员所熟知,是一个巨大的库存储库。如果您对代码的风格不小心,可能会有点难以维护

    • Python:无处不在,但可能是较旧的版本(任何Python2.3+都很好,你不太可能在野外找到较旧的版本)、很棒的库、易用性、可维护的代码,因为它们的语法比perl更严格。要找到已经了解它的人可能会有点困难,但要跟上速度应该不会那么困难


    Perl和Python都有经过大量时间测试的MySQL绑定,并且与bash一样,在几乎所有Unix派生的操作系统中都是标准的。

    由于您的代码在奇数小时无人值守地运行,您需要一种具有良好错误处理和报告能力的语言。也就是说,当它崩溃时需要打印回溯。

    您想做什么确切地说?如果你只想提高速度,你可以使用C或汇编。或者你可以用Bash来进行文件操作。jonescb:汇编,为了提高速度?我已经有10年没有看到程序员在生成机器代码方面打败编译器了。我猜现在唯一能经常这样做的人是Carmack级别的半神。@Ken-你有吗总体而言,e是一个有效的点,但一些紧循环可能由具有特定领域知识的人优化,而不是由没有特定领域知识的编译器优化。例如,如果您事先知道哪些分支将被执行10000000次而不是5次,而编译器不知道这个问题是如何争论的。您可以使用任何语言。Cron适用于执行任何程序。选择最适合作业本身的程序,cron在这里并不重要。如果输出出现问题,您始终可以围绕它编写包装器。几乎所有语言(可能在shell脚本之外)都可以吗我们的C++在每次程序死亡时都会生成堆栈跟踪、CORDEMP和适当的通知。只是一个好的软件工程。但是能力是有的。我怀疑Perl也会放弃堆栈跟踪,Perl解释器SeulSutht的真实性。但是我相信经过测试的解释者比我相信我有能力用C/C++编写正确的代码!很好!谢天谢地,我有一个经过大量测试的库供我使用(一家中型到大型公司在生产中使用了10多年:)PHP很好-我“我一直在运行多个脚本,有些每分钟调用一次,有些每小时调用一次。一切正常。我并没有说PHP不适合这项工作,只是说很多PHP脚本严重依赖Web服务器(例如读取$\u服务器或$\u COOKIE的某些值,这些值在CLI中不起作用。)我不知道为什么Logo会被取消资格#1.伯克利Logo(主要实施)甚至使用
    #!
    作为注释标记,这样你就可以用它来制作shebang脚本。我的坏。LOGO在过去20多年中确实发生了变化!为了扩展你的观点#1,我同意像Smalltalk和Lisp这样的基于图像的语言可能不太适合cron作业。这并不是说它们不能用于此,但它并不是它们的主要功能之一优势。像Ruby这样的语言似乎是在Unix命令行上发展起来的,但它提供了Smalltalk和Lisp的大部分优势,是一种更自然的选择。另外,Logo是一种真正的语言,非常接近Lisp