小编Joã*_*rra的帖子

Laravel数据库队列,几秒钟后"被杀"

我在Laravel项目中遇到了问题,我正在尝试使用FFMPEG 转换大小为450MB 的视频文件,因为这需要很长时间才能在Laravel中使用Queues来执行此操作.

由于我的生产环境的配置,我必须使用数据库队列,问题是每次php artisan queue:work在我的Vagrant框中使用命令时,每次大约60秒后排队的作业被杀死.

Vagrant盒子有4GB Ram可用,支持2D和3D加速,memory_peak_usage()在整个过程中命令永远不会列出20MB以上的任何东西.

我按照预期检查了php_sapi_name()它和它的cli,所以当涉及到执行时间时它应该没有任何限制,不管我去了cli php.ini文件并再次删除任何限制以确定.

尝试重新启动Vagrant,几秒钟之后就被杀死了.

所以我决定尝试为转码过程创建一个Laravel 命令,我硬编码文件路径和东西,并且看到它正在工作而不被杀死 ...

我错过了关于队列的一些事情吗?我正在运行php artisan queue:work我没有指定任何类型的超时,为什么我的队列被杀?

预先感谢您的帮助.

php vagrant laravel-5 laravel-queue

8
推荐指数
1
解决办法
3636
查看次数

无法使用 Laravel Mix 复制文件夹

我有一个使用Laravel 5.4Laravel Mix的项目,我有一个图像文件夹,其中一些图像具有相同的名称但类别不同,因此它们包含在不同的目录中。

所以

resources/
  assets/
    images/
      globalimage.png
      versiona/
        image1.png
        image2.png
      versionb/
        image1.png
        image2.png
Run Code Online (Sandbox Code Playgroud)

我需要的是Laravel Mix 中的复制命令来复制这些文件夹以及其中的任何文件,以便我的公共文件夹具有相同的文件夹结构。

我怎样才能做到这一点?

mix.js('resources/assets/backend/js/main.js', 'public/backend/js')
   .js('resources/assets/frontend/js/main.js', 'public/frontend/js')
   .sass('resources/assets/backend/sass/main.scss', 'public/backend/css')
   .sass('resources/assets/frontend/sass/main.scss', 'public/frontend/css')
   .sourceMaps()
   .copy( 'resources/assets/backend/images/**/*', 'public/backend/images/' )
   .copy( 'resources/assets/frontend/images/**/*', 'public/frontend/images/' )
   .version()
   .disableNotifications();
Run Code Online (Sandbox Code Playgroud)

这是我当前的Mix配置文件,我需要更改的部分是那些复制命令

webpack laravel-5.4 laravel-mix

3
推荐指数
2
解决办法
5711
查看次数

无法在Vue JS中设置Axios promise中的属性

我正在尝试使用VueJS和Axios向Laravel后端发出HTTP请求以获取一些JSON,然后使用JSON更新我的Component上的errorMessage属性.

            Axios.post('/api/login', {
                email: this.email,
                password: this.password
            }).then((response) => {
                this.errorMessage = response.message;
            }).catch((error) => {
                console.error(error);
            })
Run Code Online (Sandbox Code Playgroud)

问题是this.errorMessage由于某些原因它无法引用,我在这里做错了吗?我正确地发出了HTTP请求,JSON响应就像我预期的那样回归console.log,但是当我试图操纵this.errorMessage它时说它是未定义的,即使我已经在其他地方成功地操纵了它...

以下是此组件的完整代码

export default {
    methods: {
        submitForm: function(e) {
            e.preventDefault();

            Axios.post('/api/login', {
                email: this.email,
                password: this.password
            }).then((response) => {
                debugger;
                this.errorMessage = response.data.message;
            }).catch((error) => {
                console.error(error);
            });
        }
    },
    data: function() {
        return {
            errorMessage: null,
            email: null,
            password: null
        }
    },
    components: {
        'error': Error
    }
}   
Run Code Online (Sandbox Code Playgroud)

解:

原始请求是正确的,胖箭头函数应该保持值this,问题出在Chrome的调试器上,它显示了我的价值,undefined即使它们不是......抱歉这个愚蠢的问题,我希望这会有助于其他人们遇到这种问题.

vue.js vuejs2

2
推荐指数
1
解决办法
3718
查看次数