Na fintech, anyị na-enwekarị ike ịhazi oke data ọnụego mgbanwe ego. Anyị na-enweta data sitere na isi mmalite dị iche iche, nke ọ bụla n'ime ha nwere echiche nke ya banyere otu esi eme ka ọnụego mgbanwe maka echi, ụbọchị echi, ọnwa na-abịa na ọbụna afọ atọ na-esote. Ọ bụrụ naanị mmadụ nwere ike ịkọ ọnụego nri, ọ ga-abụ oge imechi azụmahịa na dị nnọọ nzuzu na-agbanwe ego azụ na azụ. Ụfọdụ isi mmalite bụ ndị a pụrụ ịdabere na ya, ụfọdụ na-enye ihe mkpofu zuru oke, na-enwechaghị nsonye nke ihe fọrọ nke nta ka ọ bụrụ ụkpụrụ ziri ezi, mana maka ndị di na nwunye na-ekpo ọkụ. Ọrụ anyị bụ ịchacha ndị a iri puku kwuru iri puku ụkpụrụ kwa sekọnd na-ekpebi ihe kpọmkwem na-egosi ndị ahịa. Anyị kwesịrị ikpochapụ otu uru ziri ezi site na ọtụtụ unyi na silt, dị ka flamingos na-eme na nri ehihie.
Akụkụ pụrụ iche nke flamingos bụ nnukwu ọnụ ọnụ ha gbadara agbagọ, bụ́ nke ha na-eji na-esi na mmiri ma ọ bụ apịtị ekpocha nri.
- Wiki
Ya mere a mụrụ ọbá akwụkwọ ahụ Vela, nke na-echekwa cache steeti maka ọtụtụ ụkpụrụ n'oge oge akọwapụtara. N'okpuru mkpuchi ahụ, ọ na-ehichapụ data ọjọọ na nke oge ochie na ofufe, ma na-enyekwa ohere ịnweta ndị ọhụrụ N ụkpụrụ kwadoro maka igodo ọ bụla (ego ụzọ abụọ, n'ọnọdụ anyị).
Ka anyị kwuo na anyị na-anakọta ọnụego maka ụzọ abụọ ego atọ. Nkọwa kacha dị mfe Vela iji chekwaa ọnọdụ dị ugbu a ọ ga-adị ka nke a:
defmodule Pairs do
use Vela,
eurusd: [sorter: &Kernel.<=/2],
eurgbp: [limit: 3, errors: 1],
eurcad: [validator: Pairs]
@behaviour Vela.Validator
@impl Vela.Validator
def valid?(:eurcad, rate), do: rate > 0
end
nhazi nhazi threshold, na - nhọrọ - compare_by, lee isiakwụkwọ Comparison n'okpuru.
Ọ bụrụ na nkwado na-aga nke ọma, a na-agbakwunye uru ahụ na ndepụta n'okpuru igodo kwekọrọ; ma ọ bụghị ya, tuple {serie, value} na-aga na :__errors_.
Ntụkọ
Ụkpụrụ echekwara na ahịrị ndị a nwere ike ịbụ ihe ọ bụla. Ịkụzi ihe Vela iji tụnyere ha, ọ dị mkpa ịnyefe compare_by oke na nkọwa usoro (ọ gwụla ma enweghị ike iji ụkpụrụ ndị ahụ tụnyere ọkọlọtọ Kernel.</2); oke a ga-abụrịrị ụdị (Vela.value() -> number()). Site na ndabara ọ dị mfe & &1.
Ọzọkwa, ị nwere ike ịfefe paramita na nkọwa ahịrị comparator iji gbakọọ ụkpụrụ delta (min/max); ọmụmaatụ, site na-ebufe Date.diff/2 dị ka comparator, ị nwere ike nweta ezi deltas maka ụbọchị.
Ụzọ ọzọ dị mma iji rụọ ọrụ bụ ịgafe paramita threshold, nke na-akọwa oke ikike ikike nke uru ọhụrụ ka {min, max} etiti oge. Ebe ọ bụ na akọwapụtara ya dị ka pasentị, nlele ahụ anaghị eji comparatorma ka na-eji compare_by. Dịka ọmụmaatụ, iji kọwapụta uru ọnụ ala maka oge ụbọchị, ị ga-ezipụta compare_by: &DateTime.to_unix/1 (iji nweta uru integer) na threshold: 1, na-eme ka a na-ahapụ ụkpụrụ ọhụrụ naanị ma ọ bụrụ na ha nọ ±band etiti oge site na ụkpụrụ dị ugbu a.
N'ikpeazụ, ị nwere ike iji Vela.equal?/2 iji tụnyere cache abụọ. Ọ bụrụ na ụkpụrụ na-akọwa ọrụ equal?/2 ma ọ bụ compare/2, mgbe ahụ, a ga-eji ọrụ ndị a tụnyere ya, ma ọ bụghị ya, anyị na-eji nzuzu eme ihe ==/2.
Inweta ụkpụrụ
Ịhazi steeti ugbu a na-amalitekarị site na ịkpọ oku Vela.purge/1, nke na-ewepụ ụkpụrụ ochie (ma ọ bụrụ validator ejikọtara ya timestamps). Ị nwere ike ịkpọ Vela.slice/1nke ga-alọghachi keyword nwere aha ahịrị dị ka igodo na nke mbụ, ezigbo ụkpụrụ.
Ị nwekwara ike iji get_in/2/pop_in/2 maka ohere dị ala na ụkpụrụ dị na ahịrị ọ bụla.
Ngwa
Vela может оказаться чрезвычайно полезной в качестве кеша временных рядов в стейте процесса типа GenServer/Agent. Anyị achọghị iji ụkpụrụ nkuzi stale, na ime nke a, anyị na-edobe usoro ahụ site na nhazi steeti Vela, na validator egosiri n'okpuru.
и Vela.purge/1 nwayo na-ewepu niile stale ụkpụrụ oge ọ bụla anyị chọrọ data. Iji nweta ezigbo ụkpụrụ anyị na-akpọ naanị Vela.slice/1, na mgbe a chọrọ obere akụkọ ihe mere eme nke usoro ahụ (usoro dum), anyị na-eweghachi ya - ewepụtalarị - na ụkpụrụ kwadoro.