Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122082 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 4055 invoked from network); 1 Jan 2024 20:58:09 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Jan 2024 20:58:09 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1704142719; bh=AsRBfxlN45tSMAtZqJ3HUh2KW2idYqzugDxnH8DqJjY=; h=Date:Subject:To:References:From:In-Reply-To:From; b=mxbp6N3jg4aKpn0XHgIqxPVBGBxa72kiumBXNWNarU/EbWyvPBaOhrGbKDlOc3ilO goxq2tdFrV8FfarjzAEkyiEGWpfIHh/w+pguLLblKtVkTJ4ZYLzWcTehFFNctLURpB q50juW0Ax+ZfAkNViToobOoIq0gIYgqbc9GhFnT+cjF5nA34ss8pEHulaaEclkNEk3 jTXZttIB7iXPW6xg2fG88bg35pVhXwXx6jmp5Xqia/pzxjL3nngmjVAtqXu6g65YTO Cw6Rp2r8TD3VwDyav/ywvTyuCpkvHYvo0VfATgutxqAMW4ST5HdLwpuG3gGKd+pCuM Os/s0hjiP6b4Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 82D13180048 for ; Mon, 1 Jan 2024 12:58:38 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 1 Jan 2024 12:58:38 -0800 (PST) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3333b46f26aso8418061f8f.1 for ; Mon, 01 Jan 2024 12:58:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704142687; x=1704747487; darn=lists.php.net; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=a0BqmSmr9gV4z/aHF2DEKRqs05ZX1VwLWNEWwZsFguo=; b=K1i4BWFH9BQ+NTqM9FY9UXMpu2dhzjAxQ/dI/flJ/oZxqXTExk8qDsucLHoMhT665p LqAcg+gQedflQ00hM2ULQ6Iu0ivGUkGwGKNRiP78d7Na71hfek0Nhs6+wEJacOdFAbjr x08eeWhWc1tD5MMnAPh9H684UwM6rROyRMogcoua+y4FUuIVanmxMKgZcIPlEC/cbqS5 NSXMMglUQ0V1ExIxmgnkTca20g4EOMlGhCykBYLbZh5sHpmBlji0XKjC4x5MRWS9XiLI qblXUnlAlVC3mtto1w4JFSp947QmXCeIi2Nfi3qTK9hMf5KTu4Pvt5cv1lnuaO5DoAxE PMJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704142687; x=1704747487; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=a0BqmSmr9gV4z/aHF2DEKRqs05ZX1VwLWNEWwZsFguo=; b=WwYCZlFyTZWoz9LVEopsps13JXUc4162SIDsjab0wjic6JV2TswO4jJYWpQ8TtuKVb woN+ROodtu+wx+BDpzJWsJFvPh7nj4ToBNrfhkVPreded7CAjBlzaomVUacyrc9SonlI E+H1nFTthNYxUxnaR6Rwxb2wCjZJZ36lV0vMuEg5pjM0EoVCt7s5tdioCXOtbLegkV8W PwFO7jDRmf2SpjUGr8GD0RvPiEILEaO+Ubb+I4mnt60rK1CGqBGHK1o1gbu8sxP1t1y0 TxTx3Nl9KQ30ZWFwipBkIcnJWTczK4cmeEbjtbJwCWIQfmioT9b9brkJwhiJl6GkaBxH p9hQ== X-Gm-Message-State: AOJu0YxVV8iH+Y7YutRCnSrpz6cfD6yPTYX1lWYK02luagUDfpoHjB5n R4nSb88MkJUbsQjNOcvPwzpA6ZwE6EI= X-Google-Smtp-Source: AGHT+IF9HS5lDX6u1CjD0J3D6RktGMCvWOSInFqy3Ur7mVR8Bk8j056F9e6r7WGwnaKnhgtTljr2XQ== X-Received: by 2002:a7b:c4d8:0:b0:40d:6045:e84b with SMTP id g24-20020a7bc4d8000000b0040d6045e84bmr4192630wmk.14.1704142686844; Mon, 01 Jan 2024 12:58:06 -0800 (PST) Received: from [192.168.0.22] (cpc83311-brig21-2-0-cust191.3-3.cable.virginm.net. [86.20.40.192]) by smtp.googlemail.com with ESMTPSA id fc16-20020a05600c525000b0040d4dc06f91sm34849392wmb.43.2024.01.01.12.58.05 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Jan 2024 12:58:06 -0800 (PST) Content-Type: multipart/alternative; boundary="------------cxuCO4CcA70cwKkkNXty80zI" Message-ID: <7176a4fd-b1aa-4ca2-a036-5cb0f154c49b@gmail.com> Date: Mon, 1 Jan 2024 20:58:00 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: php internals References: <5060b986-2e5a-46e4-9c83-763e5b155e83@gmail.com> <6f7815b9-80cc-4e08-819a-49dca090116f@gmail.com> <7F63D301-1A46-49AA-9140-F64543E902C5@gmail.com> <8fb6672c-06e9-4f74-b2f2-cd1a265c75a5@app.fastmail.com> <96C28696-7C58-4018-84EB-69CF4189649B@gmail.com> <881CFFCD-220F-4A58-B5B9-C1FFFCE5E278@gmail.com> <2462CAA8-3E66-4DAD-8489-77E035708087@gmail.com> Content-Language: en-GB In-Reply-To: Subject: Re: [PHP-DEV] RFC proposal: worker mode primitives for SAPIs From: rowan.collins@gmail.com (Rowan Tommins) --------------cxuCO4CcA70cwKkkNXty80zI Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I'm running out of different ways to say the same thing, and not really sure which part of my previous messages people haven't understood. I'm really not saying anything very controversial or complicated, just "had you considered that style B would offer these additional possibilities over style A". So I'm going to quote the parts of previous messages which I think already answer the latest questions. After that, I'm going to leave the thread to others for a bit, unless I see a question that isn't just retreading the same ground. On 01/01/2024 17:36, Pierre Joye wrote: > Unless I misunderstand the current proposal, it is about providing a > core interface to allow one to create its own SAPI similar to > FrankenPHP, which does not handle request in a singe thread but a > thread pool handled by go's coroutine. From Kévin's opening post: > In addition to FrankenPHP, projects such as RoadRunner and Swoole provide > engines supporting worker modes. [...] > the existence of a common infrastructure would standardize the way worker > scripts are created and provide a high-level PHP API for writing worker > scripts that work with all SAPIs that rely on this new feature. From my last message: > If we're attempting to standardise a new API for worker modes (i.e. HTTP servers which are no longer "shared nothing"), choosing one which can be used by consecutive worker modes (FrankenPHP , RoadRunner) but not concurrent ones (Swoole, ReactPHP, AMPHP) feels like a big missed opportunity. On 01/01/2024 17:40, Robert Landers wrote: > I'm not sure concurrent servers would even be able to be in scope if > we wanted them to be? From my message dated 2023-12-29 22:55 UTC: > Note that both async and WebSockets were mentioned as possible > "forward compatibility". If we're talking about "next generation > SAPIs", these are the kinds of features that people will be - and > already are - developing; so it seems foolish not to at least consider > them when designing new baseline APIs. On 01/01/2024 17:36, Pierre Joye wrote: > It is a first step and based on the usages/feedback, the next steps > could be the second part of your comment. Or? From my message dated 2023-12-31 01:20 UTC: > if you standardise on an API that populates global state, you close off any possibility of using that API in a concurrent environment. If you instead standardise on callbacks which hold request and response information in their own scope, you don't close anything off. And from 2023-12-30 10:53 UTC: > The key requirement is that you have some way of passing the current request and response around as scoped variables, not global state. That's essential for any kind of concurrent run-time (async, thread-aware, etc). Regards, -- Rowan Tommins [IMSoP] --------------cxuCO4CcA70cwKkkNXty80zI--