2016-02-08 29 views

Trả lời

3

[Đã xóa câu trả lời và cập nhật trước] Hiện tại, AWS Lambda cung cấp tần suất mỗi phút CloudWatch Events - Lên lịch làm tùy chọn kích hoạt. enter image description here

3

Có một phiên tại AWS Tái sáng tạo vào năm 2015 bao phủ chủ đề này chính xác, bạn có thể xem nó ở đây trên youtube: https://www.youtube.com/watch?v=FhJxTIq81AU cho thấy cách sử dụng lambda và đồng hồ điện toán đám mây để có được tần suất 1 phút đó mà không có phụ thuộc bên ngoài.

Bạn có cần chạy hàm AWS Lambda theo lịch biểu mà không cần sự kiện kích hoạt lời gọi không? Phiên này cho biết cách sử dụng số liệu thống kê Amazon CloudWatch và CloudWatch, Amazon SNS và Lambda để Lambda tự khởi động mỗi phút — không yêu cầu dịch vụ bên ngoài ! Từ đây, các công việc khác của Lambda có thể được lên lịch theo định dạng giống như định dạng crontab , cho độ phân giải cấp độ phút cho các nhiệm vụ được lập lịch của Lambda . Trong phiên, chúng tôi tạo chức năng này lên từ đầu bằng chức năng Lambda, chỉ số và báo thức của CloudWatch, trình kích hoạt mẫu và tác vụ.

Tôi nghi ngờ rằng tại một số điểm AWS sẽ cho phép khoảng thời gian 1 phút mà không sử dụng phương pháp này, nhưng điều này có thể giữ bạn trong thời gian trung bình.

+0

Tôi sẽ thử và xem điều đó có phù hợp với tôi hay không. Cảm ơn – blueskin

+0

Mã repo cho điều này có thể được tìm thấy tại https://github.com/g-a-d/lambda-cron – blueskin

0

Sử dụng mô-đun boto, bạn có thể có hàm lambda chạy câu lệnh gọi, gọi chính nó. Sau đây sẽ chạy sau mỗi 60 giây. Tất nhiên chắc chắn rằng bạn chỉ định một vai trò thích hợp với các điều khoản. Ngoài ra, lưu ý giới hạn của bạn.

import boto3,time 
def lambda_handler(event, context): 
#do something 
time.sleep(60) 
client = boto3.client('lambda') 
response = client.invoke(FunctionName='YOUR-FUNCTION-NAME') 
Các vấn đề liên quan