Tôi đang sử dụng Bất cứ khi nào đá quý để chạy một công việc cào. Khi tôi chạy tác vụ cào nó chạy trong môi trường phát triển, nhưng khi nó chạy vào một thời gian dự kiến nó đề cập đến một môi trường sản xuất. Làm cách nào để có thể chạy tác vụ cào theo lịch trong môi trường phát triển. Khi tôi hiểu tôi sẽ phải sử dụng biến RAILS_ENV, nhưng không thể tìm ra nơi để đặt nó. Tôi nghĩ rằng, nó không có gì để làm với Bất cứ khi nào đá quý ở đây.làm thế nào để buộc cào nhiệm vụ chạy dưới môi trường phát triển bằng cách sử dụng Bất cứ khi nào đá quý
6
A
Trả lời
6
Trong schedule.rb
, bạn có thể xác định môi trường mà bạn muốn nhiệm vụ dự kiến sẽ được chạy trong:
# config/schedule.rb
set :environment, 'development'
Ngoài ra, bạn có thể thiết lập môi trường trên một cơ sở cho mỗi công việc:
# config/schedule.rb
every 1.day do
runner 'Model.task', :environment => 'development'
runner 'Model.task', :environment => 'production'
end
12
Trong bất kỳ vỏ bash
-type bạn thường có thể ghi đè lên các môi trường khi bạn chạy nó:
RAILS_ENV=development rake task:name...
Bạn cũng có thể viết một kịch bản nhỏ để làm điều này cho bạn:
#!/bin/sh
export RAILS_ENV=development
rake task:name...
này có thể được điều chỉnh cho các loại vỏ khác theo yêu cầu.
Bạn có thể chạy các tác vụ trong lịch trình mà không phải đợi khoảng thời gian để vượt qua không? –
Bạn có hỏi liệu có thể chạy các tác vụ theo cách thủ công (tức là ngoài bộ lập lịch biểu) không? Nếu có, vâng. Tuy nhiên, nếu bạn đang cố gắng sử dụng đá quý Bất cứ khi nào, bạn nhất thiết sẽ cần phải đặt một số khoảng thời gian - AFAIK, khoảng thời gian tối thiểu là một giây. Nếu không, bạn sẽ liên tục và đồng thời chạy các tác vụ của mình ... điều này không thực sự khả thi/khả thi. – zeantsoi