Monet Lee 3381b85895
feat: implement offline push using kafka (#2600)
* refactor: refactor workflows contents.

* add tool workflows.

* update field.

* fix: remove chat error.

* Fix err.

* fix error.

* remove cn comment.

* update workflows files.

* update infra config.

* move workflows.

* feat: update bot.

* fix: solve uncorrect outdated msg get.

* update get docIDs logic.

* update

* update skip logic.

* fix

* update.

* fix: delay deleteObject func.

* remove unused content.

* update log type.

* feat: implement request batch count limit.

* update

* update

* feat: implement offline push.

* feat: implement batch Push spilt

* update go mod

* feat: implement kafka producer and consumer.

* update format,

* add PushMQ log.

* feat: update Handler logic.

* update MQ logic.

* update

* update

* fix: update OfflinePushConsumerHandler.
2024-09-10 11:10:15 +00:00
..
2024-07-25 12:01:33 +00:00
2024-08-21 07:27:51 +00:00

Notes about go workspace

As openim is using go1.18's workspace feature, once you add a new module, you need to run go work use -r . at root directory to update the workspace synced.

Create a new extensions

  1. Create your tools_name directory in pkg /tools first and cd into it.
  2. Init the project.
  3. Then go work use -r . at current directory to update the workspace.
  4. Create your tools

You can execute the following commands to do things above:

# edit the CRD_NAME and CRD_GROUP to your own
export OPENIM_TOOLS_NAME=<Changeme>

# copy and paste to create a new CRD and Controller
mkdir tools/${OPENIM_TOOLS_NAME}
cd tools/${OPENIM_TOOLS_NAME}
go mod init github.com/openimsdk/open-im-server/tools/${OPENIM_TOOLS_NAME}
go mod tidy
go work use -r .
cd ../..