Skip to content
Chetabahana edited this page Apr 4, 2019 · 40 revisions

Table of Contents

Antrian

Hampir setiap proyek membutuhkan antrian tugas begitu juga Saleor.

Celery adalah salah satu project antrian paling populer untuk Python dan juga mudah untuk diintegrasikan dan digunakan.

Hal-hal yang dijalankan Celery dalam antrian secara default meliputi:

  • mengirim email
  • membuat gambar thumbnails
  • menghasilkan file umpan (umpan Google Merchant)
Step #1: worker: (MainProcess)
Step #1:   . celery.account.thumbnails.create_user_avatar_thumbnails
Step #1:   . celery.core.analytics.ga_report
Step #1:   . celery.core.utils.update_conversion_rates_from_openexchangerates
Step #1:   . celery.dashboard.emails.send_promote_customer_to_staff_email
Step #1:   . celery.dashboard.emails.send_set_password_customer_email
Step #1:   . celery.dashboard.emails.send_set_password_staff_email
Step #1:   . celery.order.emails.send_fulfillment_confirmation
Step #1:   . celery.order.emails.send_fulfillment_update
Step #1:   . celery.order.emails.send_order_confirmation
Step #1:   . celery.order.emails.send_payment_confirmation
Step #1:   . celery.product.tasks.update_variants_names
Step #1:   . celery.product.thumbnails.create_category_background_image_thumbnails
Step #1:   . celery.product.thumbnails.create_collection_background_image_thumbnails
Step #1:   . celery.product.thumbnails.create_product_thumbnails

Cara Kerja

Celery bekerja berdasarkan sinkronisasi pengiriman pesan yang didistribusikan. Ini difokuskan pada operasi real-time, tetapi mendukung penjadwalan juga.

Unit eksekusi, yang disebut tugas, dieksekusi bersamaan pada satu atau lebih server pekerja menggunakan multiprosesor, Eventlet, atau gevent.

Tugas dapat dieksekusi sbb

  • secara tidak sinkron (di latar belakang) atau
  • secara sinkron (tunggu sampai siap).

Pialang pesan

Da lam melakukan tugasnya, celery bekerja via pialang pesan. Pialang pesan yang disarankan adalah RabbitMQ atau Redis.

Saleor menggunakan Redis disetel via lingkungan:

common.env

DATABASE_URL=postgres://saleor:saleor@db/saleor
[email protected]
OPENEXCHANGERATES_API_KEY
CACHE_URL=redis://redis:6379/0
CELERY_BROKER_URL=redis://redis:6379/1
SECRET_KEY=changeme
JWT_VERIFY_EXPIRATION=True
VATLAYER_ACCESS_KEY

Setelan

Update history meliputi file berikut

  • saleor/settings.py
  • saleor/celeryconf.py
  • saleor/userprofile/management/commands/.py
  • saleor/search/backends/elasticsearch.py
  • saleor/product/models.py

Project Tutorial

You are on the wiki of our repo

Chetabahana Project

Clone this wiki locally