Rails 2.3.5를 실행 중입니다. 내가 lib에있는 내 프로젝트에서 rake ts : rake 태스크 내에서 인덱스 실행
/작업 다음 레이크 작업 (test_task.rake) :13 14 * * * cd /sites/project/app && /sites/ruby/bin/rake RAILS_ENV=staging test_task
:
desc 'test_synchro_task'
task :test_synchro_task => :environment do
# A bunch of things that are properly executed (basically I am inserting
# in the database)...
# ...
# and once the above is done, I want the following to be executed,
# the sphinx index to be rebuild, but it is NOT :
system("cd /sites/project/app")
system("RAILS_ENV='staging' rake ts:index")
end
나는 다음과 같은 항목을 포함하는 crontab을 통해 작업의 실행을 트리거
id는 작업에서 2 개의 시스템 행을 제외하고 올바르게 호출되고 실행됩니다.
유의하시기 바랍니다 내 프로젝트의 스크립트 디렉토리에 루비 test.rb 파일에 그 2 개 시스템 라인을 배치하고 수동으로 루비 명령을 사용하여 실행하면 그 2 개 시스템 명령이 제대로 실행
ruby test.rb
을 인덱스가 올바르게 다시 작성됩니다.
또는
@cmd="cd /sites/project/app; RAILS_ENV='staging' rake ts:index"
`#{@cmd}`
이 아니라 레이크 TS : 내 레이크 작업에서는
나는 의해 그 2 개 시스템 라인을 교체 시도 지수가 여전히 실행되지 않습니다.
왜 그런가?
감사합니다.
이브
분명히하기 위해. 내 게시물에 오타가 있습니다. 설명 및 작업 이름은 실제로 OK입니다. 즉, test_task 및 not test_synchro_task입니다. – user1857699