image processing service on ubuntu

อาทิตยที่ผ่านมา ผมใช้เวลาส่วนใหญ่กับการหา solution ในการสร้าง service บน Linux ubuntu server โดยตั้งใจจะให้ โปรแกรมที่พัฒนาโดย Python มันทำการ run แบบอัตโนมัติเมื่อมีการบูตเครื่อง ในรูปแบบ Service โดยโปรแกรมนี้จะทำหน้าที่ Process ข้อมูลภาพถ่ายดาวเทียม แบบอัตโนมัติ โดยทำการโหลดข้อมูลจาก image archive มาประมวลผลและ สร้างเป็น map service ต่อไป

เรียกว่าลองอยู่หลายแบบทั้ง pydaemon (ขอบคุณพี่อาร์ท @sarawut ที่แนะนำ ยากมากครับพี่ ลองแล้วผมไม่สำเร็จ) และการสร้าง shell เพื่อทำงาน สุดท้ายมาจบที่ความช่วยเหลือของ cliechti ที่ผม email ไปถาม โปรแกรมเมอร์ใจดีช่วยตอบคำถามและแนะนำจนสำเร็จ คิดว่าคงมีหลายคนน่าจะได้ประโยชน์ขออนุญาติ นำ code มาแชร์

ผมสร้าง service ไว้ชื่อ imageprocessing_server ใน init.d

เขียน code ดังนี้

#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/image_server.py
NAME=imageprocessing_server
DESC=”Satellite Image Processing Server”
test -f $DAEMON || exit 0
set -e
case “$1” in
start)
echo -n “Starting $DESC: “
sudo python $DAEMON
;;
stop)
echo -n “Stopping $DESC: “
$DAEMON stop
start-stop-daemon –stop –quiet –exec $DAEMON || true
echo “$NAME.”
;;
status)
status_of_proc “$DAEMON” “$DESC” && exit 0 || exit $?
;;
restart|force-reload)
echo -n “Restarting $DESC: “
start-stop-daemon –stop –quiet –pidfile \
/var/run/$NAME.pid
# –exec $DAEMON
sleep 1
start-stop-daemon –start –quiet –pidfile \
/var/run/$NAME.pid –exec $DAEMON
echo “$NAME.”

;;
*)
N=/etc/init.d/$NAME
# echo “Usage: $N {start|stop|restart|reload|force-reload}” >&2
echo “Usage: $N {start|stop|restart|force-reload}” >&2
exit 1
;;
esac
exit 0

จบแล้วก็ save และทำการ add service ให้ system

update-rc.d imageprocessing_server defaults
$chmod +x imageprocessing_server

แล้วก็ reboot เป็นอันเสร็จครับ

รูปจาก internet

Advertisements

One thought on “image processing service on ubuntu

Add yours

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

Up ↑

%d bloggers like this: