{"id":12856,"date":"2024-06-20T16:00:38","date_gmt":"2024-06-20T09:00:38","guid":{"rendered":"https:\/\/km.ict.buu.ac.th\/?p=12856"},"modified":"2024-06-20T16:00:39","modified_gmt":"2024-06-20T09:00:39","slug":"%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-task-scheduling-%e0%b9%83%e0%b8%99-laravel","status":"publish","type":"post","link":"https:\/\/km.ict.buu.ac.th\/?p=12856","title":{"rendered":"\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Task Scheduling \u0e43\u0e19 Laravel"},"content":{"rendered":"<p><strong>\u0e17\u0e35\u0e48\u0e21\u0e32\/\u0e1b\u0e31\u0e0d\u0e2b\u0e32<\/strong><\/p><p>        \u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e32\u0e23\u0e2a\u0e19\u0e40\u0e17\u0e28\u0e43\u0e19\u0e1a\u0e32\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 \u0e01\u0e32\u0e23\u0e17\u0e33 task scheduling \u0e01\u0e47\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e35\u0e01\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e27\u0e25\u0e32\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p><p><strong>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e25\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21<\/strong><\/p><p>        \u0e51. Laravel Framework<br>        \u0e52. Images Apache \u0e43\u0e19 Docker \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19<\/p><p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21<\/strong><\/p><p>        \u0e51. \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48 terminal \u0e43\u0e19 docker container \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 cd \/var\/www\/html \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e17\u0e35\u0e48 path \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e41\u0e25\u0e49\u0e27\u0e25\u0e2d\u0e07 ls \u0e14\u0e39\u0e27\u0e48\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"751\" height=\"105\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/1_12856_2567.png\" alt=\"\" class=\"wp-image-12869\" \/><\/figure><\/div><p>        \u0e52. \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 php artisan make:command Sendinfo \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"609\" height=\"97\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/2_12856_2567.png\" alt=\"\" class=\"wp-image-12870\" \/><\/figure><\/div><p>        \u0e53. \u0e40\u0e1b\u0e34\u0e14\u0e44\u0e1f\u0e25\u0e4c Sendinfo.php \u0e17\u0e35\u0e48 path app\/Console\/Commands\/Sendinfo.php \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e25 $signature &#8216;app:sendinfo&#8217; \u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e37\u0e48\u0e2d\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 \u0e43\u0e2b\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e40\u0e0a\u0e48\u0e19 insert \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25, update \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25, \u0e2a\u0e48\u0e07\u0e2d\u0e35\u0e40\u0e21\u0e25 \u0e2f\u0e25\u0e2f \u0e17\u0e35\u0e48\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 handle<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"441\" height=\"614\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/3_12856_2567.png\" alt=\"\" class=\"wp-image-12871\" \/><\/figure><\/div><p>        \u0e54. \u0e40\u0e1b\u0e34\u0e14\u0e44\u0e1f\u0e25\u0e4c Kernel.php \u0e17\u0e35\u0e48 path app\/Console\/Kernel.php \u0e2a\u0e23\u0e49\u0e32\u0e07 schedule \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e31\u0e49\u0e07\u0e44\u0e27\u0e49\u0e08\u0e32\u0e01\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d \u0e54.\u0e52.\u0e53 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e28\u0e36\u0e01\u0e29\u0e32 option command \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48 https:\/\/laravel.com\/docs\/master\/scheduling<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"431\" height=\"268\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/4_12856_2567.png\" alt=\"\" class=\"wp-image-12872\" \/><\/figure><\/div><p>        \u0e55. \u0e01\u0e25\u0e31\u0e1a\u0e44\u0e1b\u0e17\u0e35\u0e48 terminal \u0e43\u0e19 docker container \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 php artisan list \u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32\u0e21\u0e35\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 app:sendinfo \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"635\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/5_12856_2567.png\" alt=\"\" class=\"wp-image-12873\" \/><\/figure><\/div><p>        \u0e56. \u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 schedule \u0e43\u0e19\u0e42\u0e2b\u0e21\u0e14 develop \u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 php artisan schedule:work \u0e43\u0e19 terminal docker \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2b\u0e22\u0e38\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e43\u0e2b\u0e49 stop docker container<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"896\" height=\"202\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/6_12856_2567.png\" alt=\"\" class=\"wp-image-12874\" \/><\/figure><\/div><p>        \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1a\u0e19 production \u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e2a\u0e23\u0e49\u0e32\u0e07 cron job \u0e42\u0e14\u0e22\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 crontab \u2013e \u0e41\u0e25\u0e49\u0e27\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 * * * * * cd \/var\/www\/html &amp;&amp; php artisan schedule:run &gt;&gt; \/dev\/null 2&gt;&amp;1 \u0e44\u0e27\u0e49\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e25\u0e48\u0e32\u0e07\u0e2a\u0e38\u0e14<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"590\" height=\"107\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/8_12856_2567.png\" alt=\"\" class=\"wp-image-12875\" \/><\/figure><\/div><p><strong>\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49<\/strong><\/p><p>        \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e16\u0e39\u0e01\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e32\u0e21\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e15\u0e31\u0e49\u0e07\u0e44\u0e27\u0e49 \u0e42\u0e14\u0e22\u0e43\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e14\u0e49\u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e25\u0e32\u0e44\u0e27\u0e49\u0e17\u0e38\u0e01 1 \u0e19\u0e32\u0e17\u0e35 -&gt;everyMinute() \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e14\u0e39 option \u0e2d\u0e37\u0e48\u0e19\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48 <a href=\"https:\/\/laravel.com\/docs\/master\/scheduling#schedule-frequency-options\">https:\/\/laravel.com\/docs\/master\/scheduling#schedule-frequency-options<\/a> \u0e41\u0e25\u0e30\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e07\u0e32\u0e19\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e02\u0e35\u0e22\u0e19\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e44\u0e27\u0e49\u0e17\u0e35\u0e48 log \u0e44\u0e1f\u0e25\u0e4c<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"228\" src=\"https:\/\/km.ict.buu.ac.th\/wp-content\/uploads\/2024\/06\/7_12856_2567.png\" alt=\"\" class=\"wp-image-12876\" \/><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0e17\u0e35\u0e48\u0e21\u0e32\/\u0e1b\u0e31\u0e0d\u0e2b\u0e32 \u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e32\u0e23\u0e2a\u0e19\u0e40\u0e17\u0e28\u0e43\u0e19\u0e1a\u0e32\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 \u0e01\u0e32\u0e23\u0e17\u0e33 task scheduling \u0e01\u0e47\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e35\u0e01\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e27\u0e25\u0e32\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49 \u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e25\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21 \u0e51. Laravel Framework \u0e52. Images Apache \u0e43\u0e19 Docker \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e51. \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48 terminal \u0e43\u0e19 docker container \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 cd \/var\/www\/html \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e17\u0e35\u0e48 path \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e41\u0e25\u0e49\u0e27\u0e25\u0e2d\u0e07 ls \u0e14\u0e39\u0e27\u0e48\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07 \u0e52. \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 php artisan make:command Sendinfo \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 &hellip; <\/p>\n","protected":false},"author":57,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"pmpro_default_level":"","footnotes":""},"categories":[729,689,695],"tags":[],"class_list":["post-12856","post","type-post","status-publish","format-standard","hentry","category-explicit-knowledge","category-knowleagebase","category-developer","pmpro-has-access"],"jetpack_featured_media_url":"","rttpg_featured_image_url":null,"rttpg_author":{"display_name":"pantakarn","author_link":"https:\/\/km.ict.buu.ac.th\/?author=57"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/km.ict.buu.ac.th\/?cat=729\" rel=\"category\">Explicit Knowledge<\/a> <a href=\"https:\/\/km.ict.buu.ac.th\/?cat=689\" rel=\"category\">\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49<\/a> <a href=\"https:\/\/km.ict.buu.ac.th\/?cat=695\" rel=\"category\">\u0e0a\u0e38\u0e21\u0e0a\u0e19\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32<\/a>","rttpg_excerpt":"\u0e17\u0e35\u0e48\u0e21\u0e32\/\u0e1b\u0e31\u0e0d\u0e2b\u0e32 \u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e32\u0e23\u0e2a\u0e19\u0e40\u0e17\u0e28\u0e43\u0e19\u0e1a\u0e32\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14 \u0e01\u0e32\u0e23\u0e17\u0e33 task scheduling \u0e01\u0e47\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e35\u0e01\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e27\u0e25\u0e32\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49 \u0e42\u0e14\u0e22\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e21\u0e35\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49 \u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e25\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21 \u0e51. Laravel Framework \u0e52. Images Apache \u0e43\u0e19 Docker \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e51. \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48 terminal \u0e43\u0e19 docker container \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 cd \/var\/www\/html \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e1b\u0e17\u0e35\u0e48 path \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e41\u0e25\u0e49\u0e27\u0e25\u0e2d\u0e07 ls \u0e14\u0e39\u0e27\u0e48\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07 \u0e52. \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 php artisan make:command Sendinfo \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 &hellip;","_links":{"self":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/12856"}],"collection":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12856"}],"version-history":[{"count":2,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/12856\/revisions"}],"predecessor-version":[{"id":12877,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/12856\/revisions\/12877"}],"wp:attachment":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}