从Resque worker运行heroku CLI命令(rake db:migrate)

时间:2015-10-07 18:40:17

标签: ruby-on-rails ruby heroku resque heroku-toolbelt

我正在尝试运行heroku CLI命令,如:

struct SPoint
{
    public int x;
    public int y;

    public SPoint(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

class Test
{

    public static void Main()
    {
        SPoint s = new SPoint(3, 4);
        object o = s;
        ((SPoint) o).x = 5;
    }
}

来自在后台运行的Resque工作者。

如果我在前台运行工作人员:

heroku run rake db:migrate --app app-name
heroku run rake db:seed --app app-name

流程成功完成,并运行rake任务。

然而,当工人这样开始时:

RAILS_ENV=production rake resque:work QUEUE="*"

进程无声地失败,没有任何迹象表明日志中发生了什么。有没有办法在后台运行这些任务?

1 个答案:

答案 0 :(得分:0)

就像max说的那样,我不确定你为什么要这样做,但如果你想从Ruby脚本调用Rake任务,在你的情况下,最好将Rake任务实际加载到内存中从你的Resque工作者中运行它。这是一个SO答案,解释了如何从Ruby运行Rake任务:https://stackoverflow.com/a/15259172/586983