# إجراء تعديلات على تهيئة التهيئة الأولية

**URL:** https://meta.discourse.org/t/making-edits-to-the-sidekiq-initialising-config/377339
**Category:** Development
**Created:** [5 أغسطس 2025، 10:40ص UTC](https://meta.discourse.org/t/making-edits-to-the-sidekiq-initialising-config/377339 "2025-08-05T10:40:12Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [5 أغسطس 2025، 10:40ص UTC](https://meta.discourse.org/t/making-edits-to-the-sidekiq-initialising-config/377339/1 "2025-08-05T10:40:12Z")

</div>

> [@Introducing pre-compiled JS assets for self-hosters](https://meta.discourse.org/t/introducing-pre-compiled-js-assets-for-self-hosters/376700/6?u=merefield):
>
> It’s enabled by default. You only need to specify the config if you want to opt-out. Yeah exactly. Any kind of diff in the git repo will cause it to bail out. Re. the sidekiq thing, if you open a topic about it, I’m sure we can work out a way to do it either from a plugin, or maybe we could introduce a new GlobalSetting for it.

كما نوقش، أحاول الاستفادة من هذا ولكني واجهت عقبة، لأنني أقوم بتخصيص:

`/config/initializers/100-sidekiq.rb`

هذا هو الكود المعدل الخاص بي، أنا:

- أعطي كل مهمة سمة عدد محاولات إعادة قابلة للوصول أستخدمها في إضافة لتغيير منطق سير العمل اعتمادًا على عدد المرات التي تمت فيها إعادة محاولة المهمة.

في الملف الذي أقوم بتعديله، أقوم بتعديله إلى:

- إنشاء فئة Middleware مخصصة لاسترداد القيمة.
- إضافة الفئة إلى السلسلة بحيث يتم تضمينها.

```plaintext
require "sidekiq/pausable"
require "sidekiq/discourse_event"
require "sidekiq_logster_reporter"
require "sidekiq_long_running_job_logger"
require "mini_scheduler_long_running_job_logger"

 module Sidekiq::Middleware::Server # <-- جديد
   class SetRetryCountMiddleware
     def call(worker, job, queue)
       worker.retry_count = job["retry_count"] if worker.respond_to?(:retry_count=)
       yield
     end
   end
 end

Sidekiq.configure_client { |config| config.redis = Discourse.sidekiq_redis_config }

Sidekiq.configure_server do |config|
  config.redis = Discourse.sidekiq_redis_config
  config[:skip_default_job_logging] = false

  config.server_middleware do |chain|
    chain.add Sidekiq::Pausable
    chain.add Sidekiq::Middleware::Server::SetRetryCountMiddleware # <-- جديد
    chain.add Sidekiq::DiscourseEvent
  end

```

حاليًا، أحقق ذلك باستخدام برنامج نصي لتعديل الملف في `app.yml` باستخدام `sed`.

هذا يكسر صحة المستودع، لذلك لا يمكنني استخدام الأصول المجمعة المضمنة.

أي اقتراحات حول كيفية إجراء هذه التعديلات من إضافة؟

---

_[View the full topic](https://meta.discourse.org/t/making-edits-to-the-sidekiq-initialising-config/377339)._
