2016-05-06 14 views
0

データを解析してMySQL DBに書き込むカスタムartisanコマンドがあります。私は手動でこのコマンドを実行しているので、schedulesまたはcronジョブはありません。Homesteadを使用した場合、永続的なデータ消失

データを保存した後、しばらくそれを使用できます。通常、それは10分から20分まで利用可能です。永続化してからマシンを再起動すると、1時間ほどデータを扱うことができます。そのテーブルの後は、私自身truncateのように空になります。

マイカスタムコマンドは、それのコンストラクタでtruncateコマンドを持っているので、パーサは、テーブルとリフィルをクリアし、それ:

DB::statement('truncate clauses'); 

しかし、cronのは、このコマンドか何かを実行していないので、私は、それが理由だとは思いません(たとえそうであっても、私はそれに正しいデータを持ったテーブルを持っています)。

他のすべてのテーブルは、通常通りデータを保持しています。

このような奇妙な動作の原因は何ですか?

私の環境:fresh Laravel 5.2.31、Homestead、Vagrant 1.8.1。

答えて

1

artisanコマンドは、実行する実際のコマンドに関係なく、アプリケーション内の既存のコマンドをすべて構築します。コンストラクタに切り捨てがある場合、cronが職人にぶつかるたびに、または単純なartisan route:listまたは他の職人コマンドを実行するたびに実行されます。

これをテストするには、コンストラクタにexitという簡単なコマンドを作成し、artisan listを実行してください。

+0

大変ありがとうございます。 –

関連する問題