rabbitmq-tutorials/erlang/new_task.erl
2010-12-09 17:39:35 +00:00

28 lines
896 B
Erlang
Executable File

#!/usr/bin/env escript
%%! -pz ./amqp_client ./rabbit_common ./amqp_client/ebin ./rabbit_common/ebin
-include_lib("amqp_client/include/amqp_client.hrl").
main(Argv) ->
{ok, Connection} = amqp_connection:start(network,
#amqp_params{host = "localhost"}),
{ok, Channel} = amqp_connection:open_channel(Connection),
amqp_channel:call(Channel, #'queue.declare'{queue = <<"task_queue">>,
durable = true}),
Message = case Argv of
[] -> <<"Hello World!">>;
Msg -> list_to_binary(string:join(Msg, " "))
end,
amqp_channel:cast(Channel,
#'basic.publish'{
exchange = <<"">>,
routing_key = <<"task_queue">>},
#amqp_msg{props = #'P_basic'{delivery_mode = 2},
payload = Message}),
io:format(" [x] Sent ~p\n", [Message]),
ok = amqp_channel:close(Channel),
ok = amqp_connection:close(Connection),
ok.