Make a roux by heating the oil in a large heavy-bottomed pot over high heat. Whisk the flour into the hot oil. It will immediately begin to sizzle. Reduce the heat to moderate and continue whisking until the roux turns a deep brown color, about 15 minutes. Add the onions, stirring them into the roux with a wooden spoon. Lower the heat to medium and continue stirring until the roux turns a glossy dark brown, about 10 minutes.
When the onions have turned the roux shiny and dark, add the celery, garlic, allspice, and cayenne. Cook for 5 minutes. Then add the tomatoes and stock and raise the heat to high. Once the sauce has come to a boil, lower the heat to medium and simmer 5–7 minutes, stirring often to make sure the sauce doesn’t burn or stick to the pan.
Reduce the heat to low and add the shrimp and green onions. Season with Melinda’s hot sauce, salt, and pepper. Once the shrimp have heated through, remove the pot from the heat. Serve over rice.