직원이 올바르게 작동하지 않습니다.Resque 작업이 보류 중 상태로 고정되었습니다.
내 스케줄러가 분명히 작동하지 않습니다. 그러나 수동으로 대기열에 넣을 때 성공적으로 추가 된 것을 볼 수 있지만 보류 상태에 머물러 있습니다. 내가 수동으로 의미 때
나는 이런 식으로 뭔가 의미 :
Resque.enqueue(MyJob,<params>)
그 상태와 다른 사람 보류에 박히을 내 resque_scheduler에 하나 EN-큐 전혀되지 않습니다.
작업자를 다시 시작하려고 시도했지만 작동하지 않습니다.
어떤 아이디어가 있을지 모릅니다. 더 많은 정보/덤프가 필요하면 알려주세요.
감사합니다.
a) 예를 시작하는 경우 resque_scheduler가 사용됩니다. 예, 사용하고 있습니다. 그리고 방금 했어 rake resque:scheduler RAILS_ENV=production
2013-09-11 16:38:08 Reloading Schedule
2013-09-11 16:38:08 Loading Schedule
2013-09-11 16:38:08 Scheduling c_aggregator_job
2013-09-11 16:38:08 Scheduling ca_aggregator_job
2013-09-11 16:38:08 Scheduling l_history_aggregator
2013-09-11 16:38:08 Scheduling target_aggregator
2013-09-11 16:38:08 Scheduling view_count_aggregator
2013-09-11 16:38:08 Scheduling searches_view_aggregator
2013-09-11 16:38:08 Scheduling b_view_count_aggregator_job
2013-09-11 16:38:08 Scheduling y_aggregator
2013-09-11 16:38:08 Schedules Loaded
나는 그것이 올바르게 작동하고있다라고 생각한다?
B) resque의 버전
gem 'resque', '1.23.0'
gem 'resque-scheduler', :require => 'resque_scheduler'
C) 당신이 다시 시작 resque 노동자들은 작업 아니, 내가 사용 레이크 :
#! /bin/sh
### BEGIN INIT INFO
# Provides: resque-server
# Required-Start: $network $named $remote_fs $syslog
# Required-Stop: $network $named $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=`which rake`
DAEMON_ARGS='resque:work'
DESC="Resque workers script"
PWD=/webapps/noomii/offline/
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
if [ ! -d /var/run/resque ]; then
mkdir -p /var/run/resque
fi
start_resque() {
start-stop-daemon --start --quiet --chdir $PWD --chuid capistrano:capistrano --make-pidfile --background --pidfile /var/run/resque/rake.pid \
--exec $DAEMON $DAEMON_ARGS RAILS_ENV=production QUEUE=high,medium,low
}
stop_resque() {
start-stop-daemon --stop --oknodo --pidfile /var/run/resque/rake.pid
}
status_resque() {
status_of_proc -p "/var/run/resque/rake.pid"
}
case "$1" in
start)
log_begin_msg "Starting $DESC"
start_resque
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC"
stop_resque
log_end_msg $?
;;
status)
status_resque
;;
restart|force-reload)
log_begin_msg "Restarting $DESC"
stop_resque
sleep 1
start_resque
log_end_msg $?
;;
*)
echo "Usage: $0 {start|stop|status|restart}" >&2
exit 1
;;
esac
: 여기
sudo service resque-workers start/stop
스크립트입니다
d)는 레이크 작업에서 올바르게 지정된 대기열입니다. 예, 그렇습니다.
당신은 몇 가지 코드는 것은 내가 게시하는 것이 유용 할 것입니다 무슨 몰라 – Viren
을 :)하시기 바랍니다 첨부 할 수 있습니다. @Viren – content01
몇가지 a) 네가 시작한다면'resque_scheduler'를 사용하고있다. b) 어떤 버전의 resque c) resque worker'rake'를 재 시작 했는가? d) 레이크 작업에서 정확하게 지정된 대기열이다. – Viren