Blog of science and life

Contact
Archives
Feed

Django Signal + Celery


Nếu bạn muốn dùng Celery task trong các Signals của Django, bạn cần làm như sau để tránh tình trạng bắn task quá nhanh, khiến bên trong task nếu query pk=id sẽ bị lỗi NotFound (do dữ liệu chưa kịp lưu vào database).

from django.db import transaction
from .models import MyModel
from .tasks import task

@receiver(post_save, sender=MyModel)
def my_model_post_save(sender, instance, **kwargs):
    transaction.on_commit(lambda: task.delay(args=(instance.id,)))

Ở đây ta đợi transaction commit xong mới chạy task. Problem solved.

Read more

Suy ngẫm về sự Ngẫu nhiên


Ngẫu nhiên là gì?

Ngẫu nhiên (randomness), một ý tưởng nền móng cho sự phát triển của khoa học, được định nghĩa trên wiki như sau:

Và nó hoàn toàn đúng. Loài người đã từ chỗ không biết gì đến sự ngẫu nhiên, cho đến khi lợi dụng được nó để phát triển vượt bậc.

Đầu óc chúng ta không được thiết kế để có cái gọi là giác quan (intuition) về sự ngẫu nhiên, mặc dù nó xảy ra liên tục trong cuộc sống của mỗi người. Vì thực ra ý tưởng này mới được khái quát bằng toán gần đây (từ thế kỷ 16), nên điều này hoàn toàn có thể hiểu được.

Nếu toán là logic cho sự chắc chắn (certainty), thì xác xuất là logic cho sự bất định (uncertainty).

Nghĩa là sao?

So sánh

Toán được xây dựng trên cơ sở các số nguyên, ví …

Read more

Contabo server review


A review

After a month trying Contabo, I must say that:

Don't use their servers.

Their storage bandwith policy is good, I will keep continue using it. But no way I'm go back for their server.

It's always down!

I have no idea why.

Their supporter is nice, but did not help.

Solution

I'm going to use HostHatch for an experiment.

They have a lot of locations in Asia, like Hongkong, Singapore and Japan (with cheap price).

I'll comeback for more reviews.

You can register with my affiliate link here

Read more

« Page 3 / 11 »