关于Elixir中的运行时和库的困惑

时间:2018-10-20 20:16:19

标签: elixir

我正在尝试在灵丹妙药中使用MQTT库,称为Tortoise。每当我使用public class YourAsynctaskextends AsyncTask<Void,Void,List<ListaLineal>> { private ProgressDialog progressDialog; public YourAsynctask() { } @Override protected void onPreExecute() { super.onPreExecute(); //show progressdialog progressDialog = ProgressDialog.show(activity,"Cargando","Espere por favor...",false,false); } @Override protected < doInBackground(Void... voids) { //load video here and return whatever you need to return something; } @Override protected void onPostExecute() { super.onPostExecute(); progressDialog.dismiss(); YourActivityClass.setupData(); } 时,都可以发送消息。但是,当我使用public void setupData(){ yourRV = (RecyclerView) findViewById(R.id.recyclerid); yourRV.setLayoutManager(new LinearLayoutManager(this)); rvAdapter = new CustomAdapter(); yourRV.setAdapter(rvAdapter); } 开始启动任务时,该程序将无法运行。我收到from bs4 import BeautifulSoup import requests import csv with open("urls.csv", "r") as f_urls, open("results.csv", "w", newline="") as f_output: csv_output = csv.writer(f_output) csv_output.writerow(['url', 'results']) for url in f_urls: url = url.strip() html = requests.get(url).content soup = BeautifulSoup(html, "html.parser") Company_Name = soup.find('h1') csv_output.writerow([url, Company_Name]) 错误。

我可以毫无错误地启动Tortoise的管理程序,这是我尝试使用iex -S mix启动该进程的子进程时遇到的错误。

mix start

在elixir中使用extern库时,是否使用deps.compile创建了整个库?还是我需要做进一步的事情?

1 个答案:

答案 0 :(得分:1)

这似乎是由于erlang代码加载主体 使用iex -S mix启动应用程序时,erlang将其启动到interactive mode中并自动加载所有模块。

mix start(您应该致电mix run)似乎在embedded mode中启动您的应用程序 在嵌入式模式下,代码会在启动时根据启动脚本加载。

http://erlang.org/doc/reference_manual/code_loading.html#code-loading

要使其正常工作,您必须将:tortoise添加到application的{​​{1}}列表中:

mix.exs