2015-09-17 13 views
5

Tôi bắt đầu chuyển một đường dẫn dữ liệu hàng đêm từ công cụ ETL trực quan sang Luigi, và tôi thực sự thích rằng có một visualiser để xem trạng thái công việc. Tuy nhiên, tôi đã nhận thấy rằng một vài phút sau khi công việc cuối cùng (có tên là MasterEnd) hoàn tất, tất cả các nút biến mất khỏi biểu đồ ngoại trừ MasterEnd. Đây là một chút bất tiện, như tôi muốn thấy rằng tất cả mọi thứ được hoàn thành cho ngày/ngày qua.Đường ống hoàn thành liên tục trong Luigi Visualiser

Hơn nữa, nếu trong visualiser tôi đi trực tiếp đến URL của công việc cuối cùng, nó không thể tìm thấy bất kỳ lịch sử mà nó chạy: Couldn't find task MasterEnd(date=2015-09-17, base_url=http://aws.east.com/, log_dir=/home/ubuntu/logs/). Tôi đã xác minh rằng nó đã chạy thành công sáng nay.

Một điều cần lưu ý là tôi có một cron chạy đường ống này sau mỗi 15 phút để kiểm tra tệp trên S3. Nếu nó tồn tại, nó chạy, nếu không nó dừng lại. Tôi không chắc liệu điều đó có gây ra việc xóa nhiệm vụ khỏi trình hiển thị hay không. Tôi đã nhận thấy nó tạo ra một PID mới mỗi lần chạy, nhưng tôi không thể tìm thấy cách để duy trì một PID/ngày trong tài liệu.

Vì vậy, câu hỏi của tôi: Có thể duy trì biểu đồ đã hoàn thành cho ngày hiện tại trong trình hiển thị không? Và có cách nào để xem điều gì đã xảy ra trong quá khứ không?

Đánh giá cao sự giúp đỡ

+0

Điều này cũng có tác dụng nếu chúng ta có 'loại bỏ độ trễ = 86400' Tôi đã thêm thông số đó vào client.cfg nhưng tôi vẫn không thấy công việc trong một ngày! – user3294904

Trả lời

3

Tôi không chắc chắn 100% nếu điều này đúng, nhưng đây là những gì tôi sẽ thử trước. Khi bạn gọi số luigi.run, hãy chuyển số --scheduler-remove-delay. Tôi đoán đây là lịch trình chờ bao lâu trước khi quên một nhiệm vụ sau khi tất cả các người phụ thuộc của nó đã hoàn thành. Nếu bạn xem qua luigi's source, mặc định là 600 giây. Ví dụ:

luigi.run(["--workers", "8", "--scheduler-remove-delay","86400")], main_task_cls=task_name) 
+1

Xin lỗi vì sự chậm trễ khi chấp nhận điều này.Đó thực sự là những gì tôi cần và đã giúp đỡ to lớn – jpavs

+0

cũng làm việc nếu chúng ta có "remove-delay = 86400" dưới scheduler - client.cfg? Tôi đã thêm tham số đó vào client.cfg nhưng tôi vẫn không thấy công việc trong một ngày! – user3294904

1

Nếu bạn định cấu hình cài đặt remove_delay trong luigi.cfg thì nó sẽ giữ các tác vụ xung quanh lâu hơn.

[scheduler] 
record_task_history = True 
state_path = /x/s/hadoop/luigi/var/luigi-state.pickle 
remove_delay = 86400 

Lưu ý, có một lỗi đánh máy trong tài liệu ("loại bỏ độ trễ" thay vì remove_delay ") đang được cố định dưới https://github.com/spotify/luigi/issues/2133

Các vấn đề liên quan