Cách tốt nhất trong elixir để tạo ra một tiến trình nền trước đánh dấu vào mọi khoảng thời gian nhất định là gì?Cách tạo trình phát sự kiện với elixir, cách otp
Vấn đề chính của tôi là một cách tiếp cận như:
defmoulde Ticker do
def tick do
do_something()
:timer.sleep(1000)
tick
end
end
công trình, nhưng là sai do thiết kế. Nó chắc chắn không đánh dấu mỗi giây, nhưng mỗi giây CẦN thời gian cho do_something() để hoàn thành. Tôi có thể sinh ra một quá trình để xử lý "cái gì đó" nhưng vẫn còn có một độ trễ nhỏ.
Ngoài ra, tôi đang cố gắng xây dựng một ứng dụng kết hợp, có một số GenServers có liên quan, và một tiến trình nền trước chính (cái tôi đang hỏi ở đây) nên gọi các máy chủ sau mỗi x giây. Có cách nào để làm điều này?
Tôi quan tâm đến thời gian trôi dạt tiềm năng. Làm thế nào tôi có thể tránh bất kỳ thời gian trôi dạt? –
'apply_interval' nên được khá phong nha, nhưng các tài liệu chỉ nói rằng" Thời gian-outs không chính xác, nhưng ít nhất là miễn là yêu cầu ". –