-1

私はスケジュールされたタスクが複数回実行されないようにrufus-schedulerでロックを設定しようとしています。私は生産にこれを展開するとき、私は次のエラーが表示されますrufus-scheduler.lockの設定時にRufus-Schedulerの権限が拒否されました。

nginx_error.log — Message from application: Permission denied @ rb_sysopen - .rufus-scheduler.lock (Errno::EACCES)

私はデジタル海の上のUbuntu 16.04.2とRails 4.2を実行していますよ。これは、ロックなしで正常に実行されますが、すべてのスケジュールされたタスクは2回実行されます。

SCHEDULER = Rufus::Scheduler.new(:lockfile => ".rufus-scheduler.lock") 

この環境を自動的にセットアップCloud66を使用していた。ここではロック付きのコードは、それが権限の問題をトリガされる追加です。

答えて

0

エラーメッセージがあなたのRubyインタプリタを実行しているユーザーが{current_directory}/.rufus-scheduler.lock

ソリューションの書き込み権限を持っていないことを言っている

あなたのプロセスのユーザーが書き込むことを確認してください可能性があり現在のディレクトリにあります。あなたはすべてのユーザーが書き込み可能なディレクトリを指している可能性が

B

ソリューション。

SCHEDULER = Rufus::Scheduler.new(lockfile: "/tmp/.rufus-scheduler.lock") 

使用するCソリューションCloud66以外の何か、それは彼らがあなたが書き込むことはできません与えているユーザーがいるようです。

+0

私は、溶液Bを試してみましたが、それは同じ問題につながった: nginx_error.log - アプリケーションからのメッセージ:アクセス許可は拒否されました@ rb_sysopen - /tmp/.rufus-scheduler.lock(errnoに:: EACCES) –

+0

次に、あなたがする必要があるがあなたのユーザにもっと多くの権利を与えたり、より多くの権利を持つユーザであなたのRubyプロセスを実行することができます。あなたは質問を更新し、どのようにインストールしたのかを示してください(あなたが従ったデジタルオーシャンガイド)。そうでないと、あなたを助けるのが難しいでしょう – jmettraux

関連する問題