Chạy, theo dõi và thanh toán cho ứng dụng với erpc worker
erpc worker status cho biết ứng dụng của bạn có đang chạy không và chi phí theo giờ của nó. Mỗi lần kích hoạt đều hiển thị giá trước, và erpc worker delete --release-server kết thúc gRPC, Shreds và Unlimited RPC mà ứng dụng dùng theo giờ, rồi đến server theo giờ của ứng dụng.Trang này mô tả ERPC CLI
v0.1.0-rc.4, một bản pre-release.Kiểm tra ứng dụng
status cho biết ứng dụng đang bị khóa hay đang chạy, release nào, và từ khi nào. Khi bạn đã đăng nhập, lệnh này còn hiển thị chi phí theo giờ của môi trường, từng mục kèm mức giá mà tài khoản của bạn bị tính cho mục đó, cùng credit của tài khoản và thời gian credit đó còn đủ dùng. --json chứa cùng thông tin đó dưới hourly.charged.Một mục không nằm trong các khoản phí của tài khoản được báo là không nằm trong đó, chứ không bị gọi là đã kết thúc, vì danh sách đó có thể chậm một phút so với một lần kích hoạt. Khi không có phiên, hoặc khi không đọc được các khoản phí của tài khoản,
status cho biết những gì đã được ghi nhận.Điều khiển ứng dụng
API_TOKEN của ứng dụng được đọc tại đây và đến server qua đầu vào chuẩn, không qua dòng lệnh nào và không nằm trong journal nào. Mọi lệnh worker đều nhận --env <name> (mặc định default) và --json, ngoại trừ secret unlock và secret lock: hai lệnh này liên quan đến keystore của máy này chứ không phải một ứng dụng, nên không nhận --env. Khi chạy từ bất kỳ đâu, một lệnh tìm ứng dụng của nó theo tên mà erpc biết; secret put, secret rm, key import, firewall allow và firewall deny chỉ nhận ứng dụng qua --dir.Cách tính phí theo giờ
- Mỗi lần kích hoạt đều hiển thị giá trước. Tại terminal, việc kích hoạt chỉ diễn ra sau khi bạn đồng ý; với
--yes, chính dòng lệnh nêu tên thứ cần kích hoạt là sự đồng ý. - Sản phẩm theo giờ được trả bằng ERPC Credit, được mua trước, và một lần kích hoạt mà credit không đủ chi trả sẽ bị từ chối. Giá được niêm yết tại Bảng giá và trên ERPC Web Dashboard.
- Một VPS mới được ghi nhận ngay khi được nêu tên, trước khi sẵn sàng. Lần triển khai tiếp theo sẽ tiếp nhận VPS đó thay vì mua một VPS khác.
- Với
deploy, một lần kích hoạt không nhận được phản hồi sẽ được gửi lại, không bao giờ dưới dạng một lần kích hoạt mới. Khóa request của nó vẫn được ghi nhận ([env.<name>.starting]), nên chạy lại cùng lệnh sẽ gửi cùng request. Sau một số phản hồi, khóa này vẫn ở đó cho đến khi bạn xóa thủ công (Giao dịch mua mà erpc không thể ghi nhận).erpc worker runkhông giữ bản ghi nào, nên lần chạy tiếp theo của nó tạo một request mới. - Triển khai lần lượt từng môi trường. Hai lần triển khai cùng một môi trường được bắt đầu cùng lúc có thể mua hai lần, và điều đó không được hỗ trợ.
- Một đường truyền còn tồn tại hay không được quyết định bởi những gì tài khoản bị tính phí. erpc không bao giờ kết thúc một đường truyền không được tính phí theo giờ: hãy kết thúc nó trong dashboard.
Gỡ ứng dụng
erpc worker delete xóa worker. erpc worker delete --release-server còn kết thúc các đường truyền của ứng dụng, rồi đến server theo giờ. Những gì không thể kết thúc vẫn được ghi nhận, và một đường truyền không được tính phí theo giờ sẽ được nêu tên, để bạn kết thúc trong dashboard.- Một lệnh delete thông thường từ chối một VPS đã mua nhưng chưa từng truy cập được, vì làm vậy sẽ quên VPS đó trong khi nó vẫn bị tính phí. Một lệnh delete thông thường đối với VPS theo giờ đã truy cập được sẽ xóa VPS đó khỏi bản ghi trong khi nó vẫn bị tính phí, và cảnh báo về điều đó.
--forgetkhông cố truy cập một server không còn truy cập được nữa, và--forget-line <id>xóa khỏi bản ghi một đường truyền đã được kết thúc bên ngoài erpc.
Đo độ trễ RPC từ server
erpc worker bench đo thời gian các lệnh gọi RPC từ server của môi trường: RPC dùng chung của ERPC, Unlimited RPC của ERPC, và bất kỳ RPC nào khác, đặt cạnh nhau. Agent trên server đo thời gian từng lệnh gọi, nên các con số là những gì ứng dụng nhận được.bash
--methodnhậngetSlot,getBlockHeight,getLatestBlockhashhoặcgetHealth.--no-sharedbỏ RPC dùng chung ra khỏi phép đo. Giá trị--urlcó thể là chính URL, một tham chiếuop://…,keychain:…hoặckeystore:…(trỏ đến nơi lưu một URL có chứa khóa; không bao giờ trỏ đến mục của khóa trading, điều này bị từ chối), hoặc-(đọc từ đầu vào chuẩn, hoặc hỏi để bạn nhập ẩn). Nhiều hơn sáu endpoint sẽ bị từ chối.- Bench in ra p50, p90, p99, min và max, các lần thất bại kèm lý do đầu tiên, và mỗi câu trả lời chậm hơn câu trả lời mới nhất trong cùng vòng bao nhiêu slot.
- Các khóa chỉ đến server qua đầu vào chuẩn, và bảng hiển thị scheme, host và cổng.
Sao lưu dữ liệu trạng thái của ứng dụng
erpc worker backup on sao lưu dữ liệu trạng thái của ứng dụng mỗi ngày lên ERPC Global Storage, được mã hóa bằng restic, vào lúc --at theo giờ của server và trong vòng 30 phút sau đó. Cần có một gói storage (erpc storage buy 5).- Những gì được sao lưu là dữ liệu trạng thái của ứng dụng,
/var/lib/private/erpc-worker-<id>. Các release thì không, vì một lần triển khai sẽ đưa chúng trở lại. Dữ liệu Redis và PostgreSQL không được bao gồm. - Server không thể xóa snapshot. Server không bao giờ giữ phiên erpc, khóa quản trị của tài khoản hay mật khẩu chính của tài khoản.
- Một server bị chiếm quyền có thể đọc snapshot của mọi máy trong tài khoản, kể cả máy này; giữ lại khóa của repository, thứ mà restic không bao giờ thay đổi, sau
off; thêm snapshot dưới tên của một máy khác, vì vậy sau khi điều đó xảy ra, hãy kiểm trarestore latestchọn gì; và làm đầy storage của tài khoản, khiến việc sao lưu của mọi máy dừng lại.erpc worker backup offthu hồi khóa truy cập của server trước tiên, dù server có phản hồi hay không. - restic sao chép tệp nguyên trạng trong khi worker đang chạy, nên một cơ sở dữ liệu có thể cần bản dump riêng để được khôi phục ở trạng thái nhất quán. Một lần chạy bị lỡ trong lúc server tắt sẽ chạy khi server hoạt động trở lại.
erpc worker backup off,statusvànowlần lượt dừng, báo cáo và chạy việc sao lưu. Các snapshot vẫn còn sauoff, vàerpc backup prune --hostdọn bớt các snapshot cũ.
Khôi phục từ máy này, sau khi chạy
erpc backup init trên máy này:bash
Nhiều môi trường và nhiều máy
- Nhiều worker trên cùng một server: mỗi worker chạy như một unit riêng, dùng chung bảng tường lửa của server, và mỗi worker chỉ mở cổng của riêng mình.
- Một ứng dụng có thể có nhiều môi trường (
[env.staging],[env.prod]), mỗi môi trường có server và đường truyền riêng. - Một môi trường có thể lưu thông tin server của nó trong 1Password thay vì
erpc.toml. Khi đó, bất kỳ máy nào đã đăng nhập vào vault đó, cùng với repository của ứng dụng, đều có thể chạy mọi lệnh; các tham chiếukeychain:vàkeystore:trong một ứng dụng như vậy sẽ bị cảnh báo, vì máy khác không thể đọc chúng. Một môi trường mới lưu thông tin trong 1Password khierpc loginlưu phiên ở đó;deploy --vault <vault-id>chỉ định một vault khác, vàdeploy --inlinelưu thông tin trongerpc.toml.






