問題タブ [ocaml-lwt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocaml - ocaml-websocket のコンパイルに失敗しました
ocaml-websocket をビルドしようとすると、次のエラーで失敗します:
問題の関数行は、
以前のリリースで lwt API が変更された場合、何か考えはありますか?
ocaml - How to fully utilise `lwt` in this case
Here is what I am going to do:
I have a list of task
and I need to run them all every 1 hour (scheduling).
All those tasks are similar. for example, for one task, I need to download some data from a server (using http protocol and would take 5 - 8 seconds) and then do a computation on the data (would take 1 - 5 seconds).
I think I can use lwt
to achieve these, but can't figure out the best way for efficiency.
For the task scheduling part, I can do like this (How to schedule a task in OCaml?):
The questions come from the actual do_task part.
So a task involves http download
and computation
.
The http download
part would have to wait for 5 to 8 seconds. If I really execute each task one by one, then it wastes the bandwidth and of course, I wish the download process of all tasks to be in parallel. So should I put this download part to lwt? and will lwt handle all the downloads in parallel?
By code, should I do like this?:
So, through the code above, will all tasks be executed in parallel, at least for the http download
part?
For calculation part, will all calculations be executed in sequence?
Furthermore, can any one briefly describe the mechanism of lwt
? Internally, what is the logic of light weight thread
? Why can it handle IO in parallel?
ocaml - Emacs Tuareg モードで lwt の構文の色とインデントを有効にする方法は?
Emacs に Tuareg モードを使用しています。
も使用してlwt
います。lwt
いくつかの構文拡張がありますが、トゥアレグはそれらを認識できず、インデントや色付けがなく醜いです.
私はこれを見つけました:
https://github.com/skydeck/lwt/blob/master/utils/tuareg-2.0.4.patch
tuareg- 2.0.4で lwtカラーリングを有効にするためのパッチです。
ただし、Tuareg- 2.0.5を使用しており、パッチを直接試してみましたが、失敗しました。
Tuareg をダウングレードする方法がわからないので、tuareg-2.0.4 のファイルをダウンロードしてelpa/tuareg-2.0.5
フォルダーにコピーし、再度パッチを適用しました。
これは、言われているようにパッチが正常に適用されましたが、それでも私のemacsは認識できませんlwt
。
誰でも方法を教えてもらえますか?
ocaml - 何かをlwtサポートする方法は?
私は用語を理解しようとしていlwt supported
ます。
したがって、データベースに接続してデータを書き込むコードがあるとします: Db.write conn data
. まだ lwt とは関係がなく、各書き込みには10 sec
.
さて、lwtを使いたいと思います。以下のように直接コーディングできますか?
5
にデータ項目がmy_data_list
あることをサポートします。5 つのデータ項目すべてがデータベースに順番に書き込まれますか、それとも並行して書き込まれますか?
また、手動で Lwt またはhttp://ocsigen.org/tutorial/applicationで、彼らは言う
Lwt の使用は非常に簡単であり、ブロッキング関数 (非協調関数) を使用しない限り、問題は発生しません。ブロック機能により、entre サーバーがハングする可能性があります。
ブロック機能を使用しない方法がよくわかりません。自分の機能ごとに、それを作成するために使用できLwt.return
ますlwt support
か?
mysql - LWT とデータベース アクセス
データベース アクセスを lwt で動作させることができません。スレッドに含めるべきですか?どのように?または、値を返す新しいスレッドを作成し'a lwt
ますか? もしそうなら、その値をどうするか?
同じことが にPrintf.eprintf
も当てはまり、これも lwt によってブロックされているようです。そのため、代わりに Lwt_io を使用します。しかし、なぜ lwt は通常の io をブロックするのでしょうか?
私が持っているのは、のような単純な db リクエストですDb.update session
。関数内にありLwt_main.run main
ます。これはすべて CGI スクリプト内にあります (重要ではありません。データベースへのアクセスは、lwt コマンドで開始するまで問題なく動作します)。
必要に応じて、さらにコードを提供できます。
よろしく
オーレ
編集
編集 2
これが解決策でした:
ocaml - Lwt_term を使用したプログラムのコンパイル
OCaml に次のコードがあります。
を使用してコンパイルしようとすると
次のエラーが表示されます。
上記の問題とは関係ないことはわかっていますが、utop から Lwt を開くことはできますが、Lwt_term を開くことはできません。私は何を間違っていますか?
ocaml - Async コードから Lwt ライブラリを使用するにはどうすればよいですか?
私はこれを見つけました: https://github.com/janestreet/lwt-async
しかし、どこに行けばいいのか、まったくわかりません。コンパイル時にフォルダーとリンクにドロップするだけでよいのは、Lwt の代わりですか?
Jane Street の Async を使用するコードベースから Lwt コードを呼び出す別の方法はありますか?
ありがとう。