好久不写blog了,看到yufeng老大那么活跃,我也“耐不住寂寞”啊。
前不久写一个小东西,其中涉及很多定时执行的任务,如数据清理,数据导入,定时计算等等。
涉及到这个东西,就想起了linux下的cron,多么贴身的服务啊。
但是在我的erlang代码里,却缺少这样一个东西。没有关系,自己动手!
首先是crontab.cfg配置文件,其语法与linux下的crontab一致,可以 man crontab 进行参考。
但是许要注意,我们使用Erlang Term的语法定义每条任务:
{{m, h, dom, mon, dow}, {M, F, A}}.
m, h, dom ,mon, dow,为integer,如果包含*,或者step信息,则许要使用 "" 双引号包围,使其为string。MFA,毫无疑问就是我们要定期执行的函数,其会在一个spawn的process中执行.
主要包含2个module,一个用来解析crontab.cfg,一个定期检测crontab.cfg,判断是否符合条件,如果符合则执行MFA函数。这个module还比较粗糙,采用list遍历,效率也不是很高。但是已经可以使用了 :)
你可以修改crontab.cfg,增添定时任务,cron server通过检测文件的last modified time来判断是否许要重新加载.
压缩包中,有一个run.sh,你可以运行:
./run.sh
启动cron server, 等待约1分钟,会执行crontab.cfg中的MFA,产生屏幕输出:
run the routine by cron server:1
hello
分享到:
- 2009-09-23 18:03
- 浏览 6386
- 评论(2)
- 论坛回复 / 浏览 (1 / 2726)
- 查看更多
相关推荐
1. 并发性:Erlang采用轻量级进程模型,使得创建和销毁进程非常高效,因此在处理并发任务时表现出色。 2. 故障恢复:Erlang的进程间通信机制允许进程在出现错误时优雅地关闭和重启,增强了系统的容错能力。 3. ...
Erlang TCP服务器是用Erlang编程语言实现的一种网络通信服务,它允许程序通过TCP协议接收和发送数据。在Erlang中,构建TCP服务器通常涉及到以下关键知识点: 1. **Erlang OTP(Open Telecom Platform)**:Erlang ...
"Editplus 安装Erlang的语法包" 这个标题意味着我们要在EditPlus这款文本编辑器中安装Erlang语言的语法高亮显示支持。EditPlus是一款功能强大的文本编辑器,它支持多种编程语言,并允许用户自定义语言配置或安装扩展...
标题中的"erlang20.3+rabbitmq server.rar"表明这是一个包含Erlang OTP版本20.3和RabbitMQ服务器的压缩包,专为在Windows操作系统上部署RabbitMQ设计。Erlang是一种并发性极强的编程语言,主要用于构建高可用性和...
总的来说,Erlang分布式XMPP服务器利用其强大的分布式特性、丰富的扩展机制和成熟的开源社区,为构建高效、可扩展的即时通讯服务提供了坚实的基础,尤其在结合Web和移动设备的场景下,展现出巨大的潜力。
在本场景中,"erlang server"指的是使用Erlang语言实现的服务器应用,特别是一个聊天室服务器,以及对应的客户端代码。 **Erlang的关键特性:** 1. **并发性**:Erlang的设计非常适合处理大量并发连接。它通过轻量...
Erlang Server源码分析与详解 Erlang是一种面向并发的、函数式编程语言,以其在分布式系统、高可用性和容错性方面的优势而受到广泛关注。尤其在构建大规模聊天室服务器这样的实时通信系统中,Erlang的性能表现突出...
rebbitMq的安装软件全集 erlang rebbitMq-server 都要下载下来 其中erlang分为上下两个部分 windows 版本版本号rabbitmq-server-3.6.12 otp_win64_17.5
"rabbitmq-server-3.8.3.exe"则是RabbitMQ服务器的安装程序,用户在安装Erlang之后,可以继续安装这个来部署RabbitMQ服务。 安装过程一般包括以下步骤: 1. 首先,下载并运行"otp_win64_22.2.exe",按照提示完成...
Erlang游戏服务器开发实践 Erlang是一种功能强大且灵活的编程语言,特别适合开发高并发、实时交互的游戏服务器。在本文中,我们将介绍如何使用Erlang开发一个简单的游戏服务器,并讨论其优点和实现细节。 Why ...
Erlang 21.2 和 RabbitMQ Server 3.7.13 是两个重要的IT组件,它们在分布式系统和消息队列服务中扮演着关键角色。Erlang 是一种功能强大的编程语言,以其并发性、容错性和分布式计算的能力而闻名。RabbitMQ 则是基于...
标题提到的“适用于Windows版本的Erlang24 and RabbitMQ server 3.8.16下载”,意味着这两个组件的最新稳定版本已适配Windows操作系统。Erlang otp_win64_24.0是针对64位Windows系统的Erlang OTP(开放电信平台)...
vim-erlang-runtime, Vim的Erlang缩进和语法 用于Vim的Erlang缩进和语法这是 Vim ( 来自 Vim 7.4 ) 附带的Erlang缩进和语法。安装方法 1克隆这里存储库: $ mkdir -p ~/.vim/bundle $ cd ~/.vim/b
Erlang是一种面向并发的、函数式编程语言,由瑞典...这两本书结合阅读,将为初学者提供一个全面的Erlang学习路径,从基础语法到高级并发编程技巧,有助于深入理解Erlang语言及其在构建高并发、分布式系统中的强大能力。
《远古封神Server:基于Erlang的服务器架构与MongoDB数据库集成解析》 本文将深入探讨"远古封神Server"项目,这是一个采用Erlang编程语言构建的游戏服务器,搭配MongoDB数据库来实现高效的数据存储和处理。Erlang以...
Erlang的语法简洁,支持模式匹配、函数式编程、列表处理和递归等特性。它的动态类型系统和强大的类型推断让代码更加灵活。 Simon St. Laurent的《Introducing Erlang》这本书深入浅出地介绍了这些概念,是学习...
- **Elixir**:基于Erlang VM的现代编程语言,提供了更接近Ruby的语法,同时保留了Erlang的并发特性和稳定性。 总的来说,Erlang 25.0为Windows用户带来了一个更新的、优化的并发编程环境,无论是用于开发分布式...
erlang-21.0.9-1.el7.centos.x86_64.rpm,rabbitmq-server-3.7.7-1.el7.noarch.rpm
RabbitMQ作为最流行的消息队列服务器之一,被广泛应用于各种应用场景,如微服务架构、任务调度等。在这个场景下,我们讨论的是在Linux CentOS7环境下安装RabbitMQ 3.8.9版本,以及它依赖的Erlang 23.1.1和socat 1.7....