diff --git a/eventbus/mysql/eventbus.go b/eventbus/mysql/eventbus.go
index ba758ed03d5192da2a510da0f4da63119805f89c..dd883c604c76b5d0411521a1362ccb8434781703 100644
--- a/eventbus/mysql/eventbus.go
+++ b/eventbus/mysql/eventbus.go
@@ -325,7 +325,7 @@ func (e *EventBus) initService() error {
 
 func (e *EventBus) lockService(tx *gorm.DB) (*ServicePO, error) {
 	service := &ServicePO{}
-	if err := tx.Clauses(clause.Locking{Strength: "UPDATE"}).
+	if err := tx.Clauses(clause.Locking{Strength: "UPDATE", Options: "NOWAIT"}).
 		Where("name = ?", e.serviceName).
 		First(service).Error; err != nil {
 		if errors.Is(err, gorm.ErrRecordNotFound) {
@@ -504,7 +504,7 @@ func (e *EventBus) handleTransactions() error {
 		ctx := e.ctxWithDB(context.TODO(), db)
 
 		trans := make([]*Transaction, 0)
-		if err := db.Clauses(clause.Locking{Strength: "UPDATE"}).Where(
+		if err := db.Clauses(clause.Locking{Strength: "UPDATE", Options: "NOWAIT"}).Where(
 			"service = ? and due_time < ?", e.serviceName, time.Now(),
 		).Find(&trans).Error; err != nil {
 			return err