Common Lisp有哪些后台作业处理解决方案?

Common Lisp有哪些后台作业处理解决方案?,lisp,common-lisp,quicklisp,Lisp,Common Lisp,Quicklisp,我需要一个后台工作处理的解决方案。一个任务队列,其中工作进程可以是不同机器上的远程进程 我在互联网上搜索过,但只找到了阿尔法中的那个,不推荐生产 我不相信像CommonLisp这样成熟的语言没有其他解决方案 他们在哪里 更新: 可能的解决办法: (由@coredump建议) Gearman与客户机/工人一起使用(我在另一个google会话中发现) 我不确定这是否正是您想要的,但可能是一个很好的候选人: lfarm是lparallel的分布式版本,它用远程进程替换工作线程。例如,lfarm:pm

我需要一个后台工作处理的解决方案。一个任务队列,其中工作进程可以是不同机器上的远程进程

我在互联网上搜索过,但只找到了阿尔法中的那个,不推荐生产

我不相信像CommonLisp这样成熟的语言没有其他解决方案

他们在哪里

更新

可能的解决办法:

  • (由@coredump建议)
  • Gearman与客户机/工人一起使用(我在另一个google会话中发现)

我不确定这是否正是您想要的,但可能是一个很好的候选人:

lfarm是lparallel的分布式版本,它用远程进程替换工作线程。例如,lfarm:pmap将细分输入序列,将零件发送到远程机器进行映射,然后合并结果。同样,lfarm:future用承诺的隐喻来包装远程任务执行。大多数lparallel内核API都保留了一些细微的变化

这本书有一些例子

有关基于本机线程的类似于Erlang的分布式方法,请参见

Erlangen将分布式异步消息传递给Clozure Common Lisp。它使用消息传递协调Clozure CL进程(本机线程),并鼓励使用监控树的容错软件体系结构。它也是透明分布的,其所有功能在IP网络上无缝工作。因此,它可以用于在不同主机上跨多个Clozure CL实例构建应用程序。Erlangen借鉴了Erlang/OTP的许多思想,因此得名。(这是一个城镇!)


我不确定这是否正是您想要的,但可能是一个很好的候选人:

lfarm是lparallel的分布式版本,它用远程进程替换工作线程。例如,lfarm:pmap将细分输入序列,将零件发送到远程机器进行映射,然后合并结果。同样,lfarm:future用承诺的隐喻来包装远程任务执行。大多数lparallel内核API都保留了一些细微的变化

这本书有一些例子

有关基于本机线程的类似于Erlang的分布式方法,请参见

Erlangen将分布式异步消息传递给Clozure Common Lisp。它使用消息传递协调Clozure CL进程(本机线程),并鼓励使用监控树的容错软件体系结构。它也是透明分布的,其所有功能在IP网络上无缝工作。因此,它可以用于在不同主机上跨多个Clozure CL实例构建应用程序。Erlangen借鉴了Erlang/OTP的许多思想,因此得名。(这是一个城镇!)


您需要一些POSIX系统调用接口。它们在通用Lisp中没有标准化,但大多数CL实现(例如…)都有一个很好的实现。请参阅第章及其
sb ext
&
sb posix
模块。@BasileStarynkevitch否,我希望能够将任务放入队列,并能够在另一台机器上处理此任务。我本打算提出建议,但我认为您关于在远程机器上执行的评论说明了这一点。您可能应该将其添加到您的问题中。@BartvanNierop更新了一个问题。您需要一些POSIX系统调用接口。它们在通用Lisp中没有标准化,但大多数CL实现(例如…)都有一个很好的实现。请参阅第章及其
sb ext
&
sb posix
模块。@BasileStarynkevitch否,我希望能够将任务放入队列,并能够在另一台机器上处理此任务。我本打算提出建议,但我认为您关于在远程机器上执行的评论说明了这一点。您可能应该将其添加到您的问题中。@BartvanNierop更新了一个问题。哇,看起来很有趣,我必须进一步调查。哇,看起来很有趣,我必须进一步调查。