THẢO LUẬN

thg 1 15, 2024 10:23 SA

@maitrungduc1410 anh nhiệt tình quá em cảm ơn anh ạ

+1

Great explaination

0
thg 1 15, 2024 9:32 SA

@Datnd a tạo cho e SSH Keys rồi nhé, check ở đây: https://gist.github.com/maitrungduc1410/68178b355f17fb378917b6da2c7d0096

E chỉ việc copy paste và dùng, nhớ là ở cả file private và public key nó có 1 cái new line ở dưới cùng đó nhé.

E nên bấm Download Zip rồi dùng cái file tải về ấy chứ copy tay không là nó ko có new line đâu

0
thg 1 15, 2024 5:25 SA

@maitrungduc1410 em cảm ơn anh ạ ở nhưng bước cuối cùng em có bị lỗi giống bạn ở trên mặc dù em đã cop pubic key vô authorized_keys :v nghĩ là pha này hết cứu rùi :VVV

0
thg 1 15, 2024 4:20 SA

a đã cập nhật vào bài rồi, có cả cho Vite

0
thg 1 15, 2024 4:16 SA

Cảm ơn bro ❤️! Em muốn xây dựng base sử dụng GetX. Bro có thể cho em tham khảo source base hoặc link source nào được không?

0
thg 1 15, 2024 4:15 SA

@datnx a hiểu rồi, do Vue CLI nó dùng Chokidar, Docker Windows thì nó dùng WSL, và có lỗi WSL ko watch được file thay đổi để báo thay đổi cho app chạy trong môi trường Linux: https://github.com/microsoft/WSL/issues/4739

Cách fix thì e đơn giản là truyền thêm biến môi trường CHOKIDAR_USEPOLLING=true, sửa lại file docker-compose.yml như sau nhé:

version: "3.4"

services:
  app:
    image: learning-docker/react-vite:v1
    volumes:
      - ./src:/app/src
    ports:
      - "5000:5173"
    restart: unless-stopped
    environment:
      - CHOKIDAR_USEPOLLING=true

0

Không ai kiểm duyệt hay sao mà lại để cho các bài viết theo kiểu google dịch này được đăng tải vậy?

0

tuyệt vời

0
thg 1 15, 2024 2:58 SA

@Datnd ko cần phải base64 nhé, làm theo hướng dẫn của a trong bài là đc.

khả năng rất cao là nội dung của biến SSH_PRIVATE_KEY của e có vấn đề, e check lại nhé.

Copy trực tiếp ko thay đổi gì từ file private key e tạo nhé

Với cả đừng tick gì ở các ô checkbox này nhé:

Screenshot 2024-01-15 at 9.57.06 AM.png

0
thg 1 14, 2024 4:43 CH

@maitrungduc1410 giờ em lại bị quả lỗi ko add đc key anh ưi :v em có search thì họ bảo do là cái key ko đúng định dạng base64 em có fix lại rồi nhưng mà nó vẫn báo lỗi này á anh :v image.png

0
thg 1 14, 2024 3:35 CH

Dịch hay, ko tệ như gg dịch như mấy bài khác

0
thg 1 14, 2024 3:13 CH

Ảo thiệt em chạy bên ubuntu thì làm được, còn chạy trên window dùng visual code thì bước cuối mount xong không update code cho mình :v

0

.

0

Expect của em thì log ra được dòng console.log('event', event); console.log(USER_CREATED_EVENT); ở terminal worker, nhưng mà hiện tại thì đang ko được anh ạ Kb cách giải thích của em có dễ hiểu ko ạ.

0

@ntngoc96wd dạ vâng, đối vói câu hỏi thứ 1 thì em đã giải quyết được, ái chà, giống vói cách của anh suggest về câu hỏi thứ 2. trong nodejs có 1 lib built-in có tên là events, ví dụ app của em có 2 entry-points chạy ở 2 process riêng biệt, api.ts và worker.ts Khi em chạy thì đồng thời cả 2 entry-points sẽ được khởi tạo eventEmitter riêng biệt (internal trong process) Chỉ là em muốn triển khai trong job cũng có thể emit được event, và event được lắng nghe ở chính process đó HIện tại thì em đang dùng sandbox.processor

export default async function (job: SandboxedJob) {
    const logger = new Logger('User Processor');
    logger.log('User Processor');
    switch (job.name) {
        case 'test':
            console.log('Before event emission');
            eventEmitter.emit(USER_CREATED_EVENT, { name: 'test' });
            console.log('After event emission');
        default:
            throw new Error('No job name match');
    }

    async function handlerSomething() {}
}

worker.module.ts em có đăng ký user.listener.ts


@Module({
    imports: [
        BullModule.registerQueue({
            name: USER_PROCESSOR,
            processors: [
                {
                    concurrency: 1,
                    path: join(__dirname, '../user/user.sandbox.processor.js'),
                },
            ],
            prefix: 'ins-chat',
            connection: {
                host: 'localhost',
                port: 6379,
            },
        }),
        EventEmitterModule.forRoot(),
    ],

    providers: [UserEvent],
})
export class WorkerModule {}

user.listener.ts:

export const USER_CREATED_EVENT = 'user-created';

@Injectable()
export class UserEvent {
    @OnEvent(USER_CREATED_EVENT)
    handleOrderCreatedEvent(event: IUserCreatedEvent) {
        console.log('event', event);
        console.log(USER_CREATED_EVENT);
    }
}
0
thg 1 14, 2024 8:55 SA

Sao mình bỏ notify trong hàm putMessage nhưng hàm getMessage vẫn chạy nhỉ

0
thg 1 14, 2024 6:24 SA

Em chào anh, em có làm hết các bước đến phần "Thay đổi code bên ngoài F5 trình duyệt không thấy thay đổi????" , giờ em chạy lên thì sửa trong Vue.app nhưng không hiện thay đổi trong trình duyệt, anh xem giúp e ạ image.png image.png image.png image.png image.png Em có thử mount như anh làm và mount cả ./:app/ nhưng nó đều không hiện.

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí