想請問一下各位, 我目前是使用 larvavel 5.2 跑 task job
也就是排程的部分, 但發現一個很奇怪的問題,
就是為什麼我的sql執行會變成非同步,
舉例來說
<?php
Use Illuminate\Support\Facades\DB;
DB::beginTransaction();
DB::delete(DB::raw($delete_sql));
DB::commit();
for ($i = 0; $i <=2 ; $i++) {
DB::insert(DB::raw($insert_sql));
}
php是單執行緒的程式,
但執行這個task會發生insert完資料, 再跑delete,
導致table是被清空的
請問是要調整什麼參數來設定db query同步與非同步嗎
有大大知道嗎, 謝謝
但我手動補跑task 又會正常
php artisan tt:test
---------------------- 後續處理 -------------------
我在 crontab 移除 laravel 的 php artisn run:schedule;
改成 * * * * * php artisan tt:test
問題就被解決了, 懷疑 laravel 本身 task job 是異步處理
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.189.28.227
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1505545522.A.BAE.html
推
09/16 16:51, , 1F
09/16 16:51, 1F
→
09/16 16:56, , 2F
09/16 16:56, 2F
→
09/16 16:57, , 3F
09/16 16:57, 3F
推
09/18 11:20, , 4F
09/18 11:20, 4F
→
09/18 23:58, , 5F
09/18 23:58, 5F
※ 編輯: herbacin (111.248.204.207), 09/18/2017 23:59:52
※ 編輯: herbacin (111.248.204.207), 09/19/2017 00:02:34