如何编译和启动erlang应用程序?

如何编译和启动erlang应用程序?,erlang,Erlang,编译后如何启动follow git应用程序 my steps are: 1. clone git repository "git://github.com/michaelmelanson/spider.git" 2. cd spider 3 erl Erlang R14B04 (erts-5.8.5) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false] Eshell V5.8.5 (abort with ^G)

编译后如何启动follow git应用程序

my steps are:

1. clone git repository "git://github.com/michaelmelanson/spider.git"
2. cd spider
3  erl
Erlang R14B04 (erts-5.8.5) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5  (abort with ^G)
1> make:all().
up_to_date
2> 
最后,如何显示应用程序相关的模块

提前谢谢


感谢您加入Michael,标准任务请求“task\u master:insert\u task(“”)。工作正常。 但如果我试图限制递归请求,我会收到一条错误消息:

* 1: record task undefined
不幸的是,我下面的建议不起作用

rd(task, {url = "", depth = ""}).
 Task = #task{url="http://www.id.uzh.ch", depth=2}.
 task_master:insert_task(Task).
下一个错误消息是:

=ERROR REPORT==== 21-Jun-2013::09:47:42 ===
** Generic server <0.52.0> terminating 
** Last message in was {'$gen_cast',
                           {task,
                               {task,{task,"http://www.id.uzh.ch",2},[],-1}}}
** When Server state == {state}
** Reason for termination == 
** {{badmatch,{error,parse_url}},
    [{fetcher,process_task,1},
     {fetcher,handle_cast,2},
     {gen_server,handle_msg,5},
     {proc_lib,init_p_do_apply,3}]}`
=错误报告===2013年6月21日::09:47:42===
**通用服务器终止
**最后一条消息是{'gen_cast',
{任务,
{任务,{任务,“http://www.id.uzh.ch",2},[],-1}}}
**当服务器状态=={state}
**终止原因==
**{{badmatch,{error,parse_url}},
[{fetcher,process_task,1},
{fetcher,handle_cast,2},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}`

有什么想法吗?

Spider是一个erlang应用程序,因此可以使用
应用程序:开始/1
来运行它:

  • cd卡盘

  • erl-pa息税前利润

    所以erl找到了蜘蛛光束文件

  • 1>应用程序:启动(iNet)。

  • 2>应用程序:启动(spider)。


  • 你可以阅读更多关于

    我是该代码的原始作者。对不起,我根本没有记录它。。。这只是我5年前的一个小项目。这对我来说是一段遥远的记忆,但我知道的是

    关于如何启动应用程序和插入任务,johlo是绝对正确的。您应该能够使用
    application:start(spider)
    启动它,然后使用
    task\u master:insert\u task/1
    方法插入新作业。它接受URL字符串或
    任务
    记录。如果这对你不起作用,请告诉我

    应用程序运行后,执行类似于
    task\u master:insert\u task(“http://someurl.com/page.html“”
    将插入新任务以获取和处理网页。通过查看此处,您可以了解“过程”的确切含义:

    基本上,它将获取页面、解析HTML、提取任何链接并将结果发送回
    任务母版
    。然后,
    task\u master
    将插入新任务来处理每个链接,递归地对所有连接的页面进行爬网。目前它对结果没有任何影响,但这将是一个放置代码的好地方:

    请注意:默认情况下,它对爬行深度没有限制。如果任由它自己的设备运行,它将递归地抓取整个网络。如果您计划在任何具有传出链接的站点上使用此功能,则应通过创建
    Task=#Task{url=”来限制爬网深度http://someurl.com/“,深度=5}然后
    任务主控:插入任务(任务)


    希望这会有所帮助。

    您不必启动Erlang shell来编译应用程序的源代码。你可以这么做

    erlc src/*.erl -o ebin/
    
    在应用程序的文件夹中

    另外,我建议您尝试
    钢筋


    这是一个可以轻松编译和测试Erlang应用程序的实用工具。

    首先感谢johlo。我的下一个问题是如何为应用程序提供一个URL进行爬网?或者没有任何选择activity@ovntatar抱歉,不熟悉此代码,但听起来像是
    task\u master:insert\u task(Url)
    是一个很好的候选者。