# طلبات صندوق الوارد في ActivityPub تسبب انتهاء مهلة عمليات عامل Pitchfork

**URL:** <https://meta.discourse.org/t/activitypub-inbox-requests-causing-pitchfork-worker-timeouts/414922>\
**Category:** Bug\
**Tags:** activitypub\
**Created:** [17 أكتوبر 2026، 3:02ص UTC](https://meta.discourse.org/t/activitypub-inbox-requests-causing-pitchfork-worker-timeouts/414922 "2026-10-17T03:02:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![scavin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/scavin/32/115938_2.png) [@scavin](https://meta.discourse.org/u/scavin)\
**Post date:** [17 أكتوبر 2026، 3:02ص UTC](https://meta.discourse.org/t/activitypub-inbox-requests-causing-pitchfork-worker-timeouts/414922/1 "2026-10-17T03:02:06Z")

</div>

أواجه مهلات متكررة (timeouts) لعمال Pitchfork في مثيل Discourse الخاص بي (2026.10.0-latest).

بعد تحليل سجلات الإنتاج، **كانت 12 من أصل 13 تحذيرات المهلة مرتبطة بطلبات صندوق الوارد ActivityPub** ، وتحديداً أثناء حلّ الممثلين البعيدين (remote actor resolution) للتحقق من التواقيع HTTP.

التتبع الخلفي (backtrace) ذي الصلة:

```plaintext
Pitchfork worker is about to timeout,
dumping backtrace for main thread

excon/socket.rb:368:in 'IO.select'
excon/socket.rb:79:in 'Excon::Socket#readline'
excon.rb:255:in 'Excon.get'

discourse_activity_pub/request.rb:70:in 'Request#perform'
discourse_activity_pub/request.rb:34:in 'Request#get_json_ld'
discourse_activity_pub/json_ld.rb:71:in 'JsonLd.request_object'
discourse_activity_pub/a_p/object.rb:251:in 'AP::Object.resolve'

signature_verification.rb:254:in 'actor_from_key_id'
signature_verification.rb:61:in 'signed_request_actor'
inboxes_controller.rb:31:in 'process_json'
inboxes_controller.rb:10:in 'create'

```

يبدو أن حلّ الممثلين البعيدين يتم بشكل متزامن أثناء معالجة صندوق الوارد، مما قد يؤدي إلى حجب عمال Pitchfork عندما تستجيب الخوادم البعيدة ببطء.

كما قمت بتفعيل `activity_pub_verbose_logging` لمدة حوالي 24 ساعة ولاحظت محاولات متكررة لحلّ ممثلين Mastodon محذوفين يعيدون استجابة HTTP 410 Gone، مما أدى إلى ظهور العديد من تحذيرات فشل معالجة أنشطة الحذف (Delete activity).

مثال:

```plaintext
[Discourse Activity Pub] GET request to
https://mastodon.social/ap/users/115676297044305006
failed: {"error":"Gone"}

[Discourse Activity Pub] Failed to resolve actor
[Discourse Activity Pub] Failed to process Delete activity:
Unable to create actor

```

لم أتحقق مما إذا كانت أنشطة الحذف الفاشلة هذه مرتبطة مباشرة بمهلات العمال.

**هل يُعد حلّ الممثلين البعيدين بشكل متزامن أثناء التحقق من توقيع صندوق الوارد سلوكاً متوقعاً؟ هل يمكن تحسين التعامل مع المهلات أو التخزين المؤقت (caching) لمنع حجب عمال الويب؟**

يسعدني تقديم سجلات إضافية معقمة (sanitized logs) إذا لزم الأمر.
